1

次のようなコードがあります: (これはポップアップです)

<body onblur="window.focus();">
    <form id="ronny">
        <select id="select1" name="select1">
            <option> 1b </option>
            <option> 1a </option>
        </select>
        <select id="select2" name="select2">
            <option> 2b </option>
            <option> 2a </option>
        </select>
    </form>
</body>

今、私の問題は次のとおりです。

  1. FF では、メイン ウィンドウに移動すると、onblur イベントが発生しません。

  2. IE では、オプションを選択するために選択をクリックすると、イベントが発生します。

ユーザーがポップアップ以外のウィンドウを選択した場合にのみ、イベントが発生するようにします。出来ますか?

私も試しonfocusoutましたが、これは両方のブラウザで機能しません。

ありがとうございました!

4

2 に答える 2

3

できません。

ウェブデザインの哲学では、ウィンドウ内のすべてを制御できますが、ウィンドウ自体は制御できません (ウィンドウのサイズ変更など、これに違反する JavaScript 部分がありますが、それらは悪であり、要点は依然として有効です)。

これをしようとするのは無駄であり、間違っています。まともなブラウザはすべてそれを許可しません.許可するものを見つけた場合、それはおそらくバグです.

于 2010-10-18T10:25:08.517 に答える
2

これをあきらめなさい。ウィンドウがフォーカスを失うたびにフォーカスを取得しようとしているため、フォーカスを永遠に維持できますか? それはおそらく世界で最も迷惑な行動です。幸いなことに、ブラウザーではこれを行うことはできません。

Quirksmode には、フォーカス イベントとブラー イベントに関する適切な情報があります

于 2010-10-18T08:27:44.327 に答える