43

javascript を使用してドキュメントのキープレス イベントを登録したいと考えています。

利用した:

document.attachEvent("onkeydown", my_onkeydown_handler);

IE では正常に動作しますが、Firefox と Chrome では動作しません。

私も試しました:

document.addEventListener("onkeydown", my_onkeydown_handler, true); 
// (with false value also)

ただし、Firefox と Chrome ではまだ機能しません。

解決策はありますか、何か不足していますか?

4

3 に答える 3

79

あなたは探している:

編集:

Javascript:

document.addEventListener("keydown", keyDownTextField, false);

function keyDownTextField(e) {
var keyCode = e.keyCode;
  if(keyCode==13) {
  alert("You hit the enter key.");
  } else {
  alert("Oh no you didn't.");
  }
}

デモ: JSFIDDLE

于 2012-08-28T05:45:59.967 に答える
10

あなたはおそらく探している:

document.body.addEventListener('keydown', function (e) {
    alert('hello world');
});​​​​​​​

しかし、既存のライブラリを使用して多くのブラウザの問題を抽象化することは、ほぼ間違いなく時間の価値があるでしょう。

于 2012-08-28T05:42:12.730 に答える
-4

詳細な説明については、次のリンクを参照してください。

https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener?redirectlocale=en-US&redirectslug=DOM%3Aelement.addEventListener

http://www.reloco.com.ar/mozilla/compat.html

つまり、ハンドラを次のように記述します。

function myFunction(e)
{
    ///For IE
    if(!e)
        e=window.event;

    // use e as event in rest of code.
}
于 2012-08-28T05:45:40.867 に答える