2012-08-28 9 views
29

javascriptを使用して、文書のkeypressイベントを登録したいとします。document.onkeypressイベントの登録方法

は、私が使用している:

document.attachEvent("onkeydown", my_onkeydown_handler); 

それはIE、 と罰金ではなく、FirefoxとChromeで動作します。

私も試してみました:

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

しかし、それはまだFirefoxとChromeで動作しません。

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

+0

はあなたには、いくつかのコードを表示することができますか? – Phil

+0

[可能な回答はこちら](http://stackoverflow.com/questions/3763080/javascript-add-events-cross-browser-function-implementation-use-attachevent-add) – SuperSaiyan

答えて

54

として、ハンドラを記述します。

EDIT:

Javas CRIPT:

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."); 
    } 
} 

DEMO:JSFIDDLE

+1

私は自分自身にイベントを追加したい –

+0

編集済みコード.. @ NileshPethani –

2

addEventListener()のイベント名は、onkeydownではなく、​​です。

さらに、documentではなく、イベントハンドラをトリガ要素にアタッチする必要があります。

7

あなたは、おそらく探しています:

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

しかし、ほぼ確実にそこに多くのブラウザの問題の上に抽象的に既存のライブラリを使用して、あなたの時間の価値になるだろう。

関連する問題