6

私のindex.htmlには、このコードがあります。onkeydownMain.onLoad() でそのボディにイベントを追加する必要があります。

それを行う方法はありますか?

<body id="body" 
    onload="Main.onLoad();" 
    onunload="Main.unload();" 
    onmousedown="Main.mouseDown();"
>

<body id="body" 
    onload="Main.onLoad();" 
    onkeydown="TVA.keyDown(event);" 
    onunload="Main.unload();" 
    onmousedown="Main.mouseDown();"
>
4

3 に答える 3

6

Javascript ブロックで、window.onkeydown( MDN ) を使用してみてください。

document.onkeydownとも使用できますdocument.body.onkeydown

以下に例を示します。

JavaScript

document.body.onkeydown = function(e){
    alert(String.fromCharCode(e.keyCode)+" --> "+e.keyCode);
};

ライブデモ

上記のコードは、有効な JavaScript ブロック (Main.onLoad()関数など) に配置できます。

于 2013-07-11T12:44:21.380 に答える
0

次のようにリスナーをアタッチできます。関数を渡すか、単にコードで匿名の関数を呼び出すことができます。

document.body.addEventListener('keydown',Main.onLoad);

コンソールに渡されると、スタック オーバーフローで動作するようです。

于 2013-07-11T12:35:48.133 に答える
0

通常onkeydown、フォーカスを受け取ることができる要素に取り付けることができます。一部のブラウザでは、 にフォーカスできdocument.bodyますが、それに頼ることはできません。window注目を集めることができる要素の1つです。

が定義されたhead、以下のコードを HTML コードのセクションに配置することができます。 TVA

window.onkeydown = TVA.keyDown;

または使用する場合addEventListener()

window.addEventListener('keydown', TVA.keyDown, false);
于 2013-07-11T13:09:42.473 に答える