-2

これが私のコードです:

<input type=\"text\" id='MsgToSend" + ToClient + "t" + FromClient + "' onkeypress='ClientOnTyping();' />

FromClientToClient動的に生成されます。

JavaScript:

function ClientOnTyping() {
  if(e.keyCode==13) {
     // i know i should do this but my problem is what is 'e' in my case how can i specify it ?
  }

}
4

2 に答える 2

3

イベントの要素にイベント リスナーをアタッチする必要がありますkeydown

var btn = document.getElementById('MsgToSend');
btn.addEventListerner('keydown', function (e) {
    if(e.keyCode==13) {
     // i know i should do this but my problem is what is 'e' in my case how can i specify it ?
    }
});

従来のブラウザーでは、この方法でイベント ハンドラーをアタッチできます。

var btn = document.getElementById('MsgToSend');
btn.onkeydown = function (e) {
    e = e || window.event;
    var keyCode = e.keyCode || e.which;
    if(keyCode==13) {
     // i know i should do this but my problem is what is 'e' in my case how can i specify it ?
    }
});
于 2013-03-09T23:23:53.613 に答える
0

ハンドラー関数のスコープ内で、DOM でイベントが発生するたびに自動的に作成されるオブジェクトですeeventハンドラーに渡すだけです。

例えば:

<input ...onkeypress="ClientOnTyping(event);">

function ClientOnTyping(e) {
    ...
}

また、目立たないコードではなく、目立たないコードを使用することを検討してください。目立たないjavascriptと目立たないjavascriptの違いとStarxの回答を参照してください。

于 2013-03-09T23:24:18.577 に答える