質問: jquery-divのkeydown()がfirefoxで機能しない divにフォーカスがあり、キーが押されたときにアラートをポップアップする次のサンプルコードがあります。これは私がie 7で期待していることを行いますが、firefox 3.5.5では行いません。何が問題なのですか?<html> <head> <title>js test</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#testdiv").keydown(function(event) { alert("pressed " + event.keycode); }); }); </script> <style type="text/css"> #testdiv { width: 50; height: 50; background-color: red; } </style> </head> <body> <div id="testdiv"></div> </body> </html> [〜#〜] edit [〜#〜]:keydownをkeypressとkeyupに置き換えてみましたが、そうではありませんどちらか動作します。ちなみに、念のため、「入力時に探す」設定がオフになっていることも確認しました。
回答: jqueryからの最新のcdnを使用して、firefox 5でこれらの回答を機能させることができませんでした。 divの子の1人がキーイベントを持っているかどうかを知る必要があったので、これに頼りました:$(document).keypress(function(e){ if(!$(e.target).parents().is("#testdiv")) return; /* do child-of-div specific code here */ } ターゲットが現在のdivである場合(そしてフォーカスがある場合)、次のようなことができると思います。$(document).keypress(function(e){ if(!$(e.target).is("#testdiv")) return; /* do div specific code here */ }