为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

该document.createEvent文件说:“ 该createEvent方法已被弃用。使用事件构造来代替。 ”


因此,您应该改用以下方法:


var clickEvent = new MouseEvent("click", {

    "view": window,

    "bubbles": true,

    "cancelable": false

});

并在这样的元素上触发它:


element.dispatchEvent(clickEvent);


查看完整回答
反对 回复 2019-11-27
?
莫回无

TA贡献1865条经验 获得超7个赞

对于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;

    }

}


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号