[英]Passing event data in the inline event handlers
我有一个<input>
,它有一个onkeydown
内联事件处理程序。 在这个处理程序中,我想调用一个函数并向它传递一个特殊参数 - 事件数据。
当我想处理整个文档的事件(例如onmousemove)时,我使用以下代码:
document.onmousemove=function(e) {
// here I can make a good use of the 'e' variable,
// for example extract the mouse coordinates from it
}
它有效(虽然我不知道e
变量 - 事件数据来自何处)。
但是这次我想只将函数用于上面提到的<input>
。
我需要将事件数据传递给函数,以便获取按下的键的代码。 我想在内联事件处理程序中执行此操作。 我创建了一个函数:
function myfunc (e) {
var evt=window.event?event:e;
var code=evt.keyCode;
alert (code);
}
并尝试了所有这些方法:
<input onkeydown="myfunc(this)">
<input onkeydown="myfunc(this.onkeydown)">
<input onkeydown="myfunc(onkeydown)">
但是没有一个工作,警报窗口显示“未定义”。
我在谷歌寻找解决我的问题的方法,但没有找到任何可以帮我解决的问题。
<input onkeydown="myfunc(event)">
function myfunc (e) {
e = e || window.event;
var code = e.keyCode;
alert (code);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.