如何以编程方式单击JavaScript中的元素?

在IE中,我只能从JavaScript调用element.click()-如何在Firefox中完成相同的任务?理想情况下,我希望有一些跨浏览器同样可以正常工作的JavaScript,但是如果需要,我将为此使用不同的逐浏览器JavaScript。



翻阅古今
浏览 364回答 3
3回答

拉莫斯之舞

该document.createEvent文件说:“ 该createEvent方法已被弃用。使用事件构造来代替。 ”因此,您应该改用以下方法:var clickEvent = new MouseEvent("click", {    "view": window,    "bubbles": true,    "cancelable": false});并在这样的元素上触发它:element.dispatchEvent(clickEvent);

莫回无

对于Firefox链接似乎是“特殊的”。我能够进行这项工作的唯一方法是使用MDN此处描述的createEvent并调用initMouseEvent函数。即使那不能完全解决问题,我也必须手动告诉浏览器打开链接...var theEvent = document.createEvent("MouseEvent");theEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);var element = document.getElementById('link');element.dispatchEvent(theEvent);while (element){    if (element.tagName == "A" && element.href != "")    {        if (element.target == "_blank") { window.open(element.href, element.target); }        else { document.location = element.href; }        element = null;    }    else    {        element = element.parentElement;    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript