如何使用事件?以及IE和標準DOM事件模型之間存在的差別?
- 關于事件
- IE的事件流:事件冒泡
- 其他瀏覽器支持的另一種事件流:事件捕獲
- 標準的事件模型分為3個階段:捕獲階段,目標階段,冒泡階段
- 使用方式和差異
- 標準的事件模型使用addEventLisenter,removeEventListener監(jiān)聽,移除事件,事件名不用加“on”,還可以使用第3個參數(shù)來指定事件在捕獲階段(true)還是冒泡階段(false)
- IE事件模型使用attachEvent,detachEvent監(jiān)聽,移除事件,事件名加“on”: 如 onclick,沒有第三個參數(shù)
- 阻止事件發(fā)生時瀏覽器的默認行為
if (window.event) {//IE window.event.returnValue = false; } else { evt.preventDefault(); }
- 阻止冒泡
if (window.event) {//IE window.event.cancelBubble = true; } else { evt.stopPropagation(); }