document.createEvent用于创建事件,在DOM Level 2的事件中就有HTMLEvents,MouseEvents,UIEvents事件类型。DOM Level 3增加很多事件类型,个人觉得其中最有用的是CustomEvent自定义事件。
为DOM元素创建自定义事件的步骤为:
一、创建事件:var ev = document.createEvent('CustomEvent');
二、初始化事件:ev.initCustomEvent('自定义事件名称', false(是否允许冒泡), false(是否允许中断),args)
三、为DOM添加事件监听:element.addEventListener('自定义事件名称',fn,false)
四、分发(触发)自定义事件:element.dispatchEvent(ev)
function seth() {this.innerHTML = '12344';//这里的this 指向分发事件的DOM元素 }var ev = document.createEvent('CustomEvent');ev.initCustomEvent('myevent', false, false, '');[].every.call(document.querySelectorAll('div'), function (v, i) {v.addEventListener('myevent', seth, false);v.dispatchEvent(ev);return true;});