这是我的代码:
<input type=\"text\" id='MsgToSend" + ToClient + "t" + FromClient + "' onkeypress='ClientOnTyping();' />
动态生成FromClient
和ToClient
。
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 ?
}
}
答案 0 :(得分:2)
您需要在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 ?
}
});
答案 1 :(得分:0)
在处理程序函数的范围内,e
是在DOM中触发事件时自动创建的event
对象。您只需将其传递给处理程序即可。
例如:
<input ...onkeypress="ClientOnTyping(event);">
和
function ClientOnTyping(e) {
...
}
另外,请考虑使用不显眼的代码而不是突兀的代码。请参阅Difference between obtrusive and unobtrusive javascript和Starx的回答。