在IE Mobile中捕获javascript事件

在IE Mobile中捕获javascript事件,javascript,javascript-events,ie-mobile,Javascript,Javascript Events,Ie Mobile,我需要检测生成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; } 有没有办法获取对已触发事件

我需要检测生成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;
}

有没有办法获取对已触发事件的引用?或者另一种了解导致事件的元素id的方法。

解决方法是将元素传递给回调:(未测试)


在每个浏览器中,文本框上的
更改
事件仅在用户焦点远离文本框时触发(即,在
模糊
)。您验证过IE Mobile具有相同的特征吗?是的,即使在IE Mobile中也会触发事件,但我找不到访问事件(window.event)变量的方法。有任何事件在IE Mobile上工作吗?从这里我可以看到:该浏览器上似乎严重缺乏基本的DOM事件支持。因此,-event作为第一个参数传递和
窗口。event
在调用事件处理程序时不可用?是的,某些事件可以工作。事实上,调用了示例中的onchange_处理程序,但无法访问window.event。IE Mobile中没有第一个参数,因为如果我使用它,就不会调用handler函数。谢谢,它可以工作,但它迫使我保留两个版本的脚本。我接受你的回答,因为这可能是唯一的解决办法。
<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;
}
<input type="text" id="mytextbox" onchange="return onchange_handler(this);"

function onchange_handler(element) {
    var id = element.id;
    ...
    return false;
}