2011-03-24 43 views
1

下面的代码可以在Firefox中正常工作,但不能在IE8中正常工作。如何触发IE8中HTML元素的事件?

它触发HTML元素(此处指定为“节点”)上的鼠标点击事件,并且 调用已经绑定到该元素的函数。 因此,它像编程方式触发给定元素上的点击事件。
var oEvent = document.createEvent(\"MouseEvents\"); oEvent.initMouseEvent(\"click\", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, node); node.dispatchEvent(oEvent);
任何人都可以帮助我使它在IE8中工作吗?

在此先感谢。

回答

2

您只需要像Firefox那样的代码,但尚未有点击事件的元素!

只需点击该元素在其他浏览器 - 例如node.click()

这意味着你需要嗅出事件。我会尝试

if (node.click) node.click(); 
else if (document.createEvent) { 
    var oEvent = document.createEvent("MouseEvents"); 
    if (oEvent.initMouseEvent) { // just to be sure... 
    oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, node); 
    node.dispatchEvent(oEvent); 
    } 
} 
+0

我有同样的问题。你能帮我解决吗?当我尝试这个代码。它的给定节点是未定义的错误。 – 2013-12-05 11:03:51

+0

提出问题,提出问题 – mplungjan 2013-12-05 12:31:16

+0

我已经问过问题了.. http://stackoverflow.com/questions/20394182/checked-is-not-working-in-ie8-browser谢谢 – 2013-12-05 12:38:17

相关问题