在一个DOM上同时绑定两个点击事件:一个用捕获,一个用冒泡。事件会执行几次,先执行冒泡还是捕获?
事件的代理/委托
ulEl.addEventListener('click', function(e){
var target = event.target || event.srcElement;
if(!!target && target.nodeName.toUpperCase() === "LI"){
console.log(target.innerHTML);
}
}, false);
W3C事件的 target 与 currentTarget 的区别?
target 只会出现在事件流的目标阶段currentTarget 可能出现在事件流的任何阶段currentTarget 指向当前事件活动的对象(一般为父级)如何派发事件(dispatchEvent)?(如何进行事件广播?)
dispatchEvent 方法fireEvent 方法var fireEvent = function(element, event){
if (document.createEventObject){
var mockEvent = document.createEventObject();
return element.fireEvent('on' + event, mockEvent)
}else{
var mockEvent = document.createEvent('HTMLEvents');
mockEvent.initEvent(event, true, true);
return !element.dispatchEvent(mockEvent);
}
}