document.dispatchEvent的(event)问题,提示document没有这个事件,求看看是哪里写错了吗

这个触发事件不太明白,改了好久都没能成功触发,一直提示:
Failed to execute 'dispatchEvent' on 'EventTarget': The event provided is null.
事件绑定已经成功了

    window.onload = function() {
            myAddEvent(document, "click", cons);
            document.dispatchEvent("click");
        }
        
    function cons() {
            console.log("232");
        }
                
                
    function myAddEvent(obj, ev, fn) { //对象,事件类型,函数
            if(obj.addEventListener) { //高版本浏览器
                obj.addEventListener(ev, fn, false); //false 表示不捕获
            } else { //低版本浏览器  IE6-8
                obj.attachEvent('on' + ev, fn);
            }
        }
阅读 8.8k
3 个回答

自定义事件到激发这个事件,需要document.createEvent(),event.initEvent(),element.dispatchEvent()这三部,dispatchEvent 的参数是自定义的 Event 对象。例如:
var ev=document.createEvent('HTMLEvents');
ev.initEvent('click',false,false);
document.dispatchEvent(ev);

dispatchEvent 的参数是 Event 对象

使用了触发器 结果浏览器弹出了一个警告

clipboard.png
执行的时间太长 警告了 尴尬

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题