微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Firefox 5 dispatchEvent不起作用

如何解决Firefox 5 dispatchEvent不起作用

| 我有一些使用
dispatchEvent
来模拟点击的代码,相同的完全相同的代码在Chrome浏览器中工作正常,但在Firefox中不起作用。这是代码
var evt = document.createEvent(\"MouseEvents\");
evt.initEvent(\"click\",true,true);
jQuery(\"a:contains(Next)\")[0].dispatchEvent(evt);
我正在点击加载另一个页面链接,并且该页面在Chrome中可以正常加载,但是当我在Firebug中运行此代码或什至将其作为书签执行时,Firefox绝对不会执行任何操作。我还尝试通过设置MDC文档上显示的所有选项来尝试事件初始化的长形式,但这并没有任何作用。我到底在做什么错?     

解决方法

        由于您的事件看起来像是鼠标事件,因此您可以尝试使用鼠标事件,例如以下示例:
var oEvt = (document.createEvent)? document.createEvent(\'MouseEvents\') : document.createEventObject();    
       // W3C
        if (oEvt.initMouseEvent) 
            oEvt.initMouseEvent(
                /* type*/            \'mouseup\',/* bubble*/            true,/* cancel*/            true,/* AbstractView*/     window,/* detail */        10,/* screenX */        20,/* screenY */        30,/* clientX */        40,/* clientY */        50,/* ctrlKey */        false,/* altKey */        false,/* shiftKey */        true,/* metaKey */        false,/* button */        0,/* relatedTarget*/    null ) ;
        // MSIE
        else {
                var oEvt = document.createEventObject(); 
                oEvt.detail = 10;
                oEvt.screenX = 20;
                oEvt.screenY = 30;
                oEvt.clientX = 40;
                oEvt.clientY = 50;
                oEvt.ctrlKey = false;
                oEvt.altKey = false;
                oEvt.shiftKey = true;
                oEvt.metaKey = false;
                oEvt.button = 0;
                oEvt.relatedTarget = null;
        }
请参阅W3C鼠标事件类型 我还用法语写了一个关于触发DOM事件的教程;我想很容易将其翻译。     ,        这是Firefox中的错误,请参阅以下内容: https://bugzilla.mozilla.org/show_bug.cgi?id=395917 恐怕我无法解决任何问题。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。