IE事件模型(没有捕获)(<=ie8)
- attachEvent(event, function)
detachEvent(event, function)
第一个参数为on+‘event‘; - 目标对象event.srcElement;
- this会指向window;
- event.cancelBubble = true // 停止冒泡
event.returnValue = false // 阻止默认事件
标准DOM事件模型(捕获、目标、冒泡)(>ie8)
- addEventListener(event, function, useCapture)
removeEventListener(event, function, useCapture)
useCapture为true,在捕获阶段执行,从外到里触发;
useCapture为false,在冒泡阶段执行(默认),从里到外触发; - event.target和event.currentTarget
target在事件流的目标阶段(指向触发事件监听的对象);
currentTarget在事件流的捕获,目标及冒泡阶段(指向添加事件监听的对象);
只有当事件流处在目标阶段的时候,两个的指向才是一样的;
而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级)。 - this指向事件监听对象;
- event.stopPropagation() // 停止冒泡
event.preventDefault() // 阻止默认事件