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

查看:119
本文介绍了javascript - 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);
            }
        }

解决方案

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

这篇关于javascript - document.dispatchEvent的(event)问题,提示document没有这个事件,求看看是哪里写错了吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆