我需要检测生成 onchange
事件的元素的 ID。
此代码适用于大多数现代浏览器:
<input type="text" onchange="return onchange_handler(event);"
function onchange_handler(event) {
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
但它在 IE Mobile 中不起作用。
我试过下面的代码,至少触发了事件并调用了处理函数,但是调用事件处理程序时 window.event
不可用:
<input type="text" onchange="return onchange_handler();"
function onchange_handler() {
var event = window.event; // <= evaluated as UNDEFINED
var id = event.target ? event.target.id : event.srcElement.id;
...
return false;
}
有什么方法可以获取触发事件的引用吗?或者另一种方法来了解导致事件的元素的 ID。
最佳答案
解决方法是将元素传递给回调:(未测试)
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"
function onchange_handler(element) {
var id = element.id;
...
return false;
}
关于javascript - 在 IE Mobile 中捕获 javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470854/