javascript - 在 IE Mobile 中捕获 javascript 事件

标签 javascript dom-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;
}

但它在 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/

相关文章:

javascript - 请在下面为 asp + JavaScript 编写的代码中找到错误

javascript - if iemobile 的问题

javascript - Google IMA SDK 的 HTML 5 问题

javascript - 是否可以遍历数组,不包括第一个元素?

Javascript 数字和货币本地化

Javascript 游戏输入失去焦点

javascript - 如何使隐藏/显示文本 javascript 更流畅?

javascript - 更改 DOM 后执行 jQuery

javascript - window.close() 不适用于 Windows Mobile 6.5

javascript - 如何在 IE Windows Mobile 5 中向 <SELECT> 添加选项