事件模型

如何使用事件?以及IE和标准DOM事件模型之间存在的差别?

  1. 关于事件
    1. IE的事件流:事件冒泡
    2. 其他浏览器支持的另一种事件流:事件捕获
    3. 标准的事件模型分为3个阶段:捕获阶段,目标阶段,冒泡阶段
  2. 使用方式和差异
    1. 标准的事件模型使用addEventLisenter,removeEventListener监听,移除事件,事件名不用加“on”,还可以使用第3个参数来指定事件在捕获阶段(true)还是冒泡阶段(false)
    2. IE事件模型使用attachEvent,detachEvent监听,移除事件,事件名加“on”: 如 onclick,没有第三个参数
    3. 阻止事件发生时浏览器的默认行为
    if (window.event) {//IE
        window.event.returnValue = false;
    } else {
        evt.preventDefault();
    }
    
    1. 阻止冒泡
    if (window.event) {//IE
        window.event.cancelBubble = true;
    } else {
        evt.stopPropagation();
    }
    

你可能感兴趣的:(事件模型)