2

JavaScript で任意の要素がフォーカスを失ったことを検出できるようにしたいので、jEdit に似たインライン編集ツールを構築できます。このライブラリを jQuery に依存することはできないため、それを行うためのネイティブ メソッドが必要です。

私はonblurを見ましたが、これは正しいように思えますが、MDNには、IE固有である可能性があることを示唆するメモがありますか?

ほとんどすべての種類の要素が blur イベントを受け取る MSIE とは対照的に、Gecko ブラウザーのほとんどすべての種類の要素は、このイベントでは機能しません。

これで動作する/動作しない要素はどれですか?そのようなものを検出するより良い方法はありますか?

ぼかしが機能する場合、https: //developer.mozilla.org/en-US/docs/DOM/element.onblur のドキュメントを変更する必要がありますか?

4

2 に答える 2

2

onfocusoutbody 要素でを使用できます。onblurとの違いonfocusoutは、後者はバブルアップするため、必要なすべてのノードにインストールする必要がないことです。

ただしonfocusout、クロスブラウザーではなく、IE の機能であり、標準ではありません。onblur泡立たないことを除けば、現在のブラウザでの設定に問題はありません。

ぼかしが発生するたびに通知される唯一のハックは、document.activeElement変更を確認したときにイベントをポーリングして発生させることです。JavaScript または jQuery を使用してどのフォーム入力にフォーカスがあるかを検出するを参照してください。

于 2012-09-18T23:21:39.040 に答える