10 09/2014

javascript addEventListener

最后更新: Wed Sep 10 2014 12:37:50 GMT+0800

addEventListener 语法格式:

target.addEventListener(type, listener[, useCapture]);

  • type 事件类型
  • listener 侦听函数
  • useCapture 使用捕捉(true,false)

在嵌套结构结构,内部元素的事件会冒泡(bubble)。比如下面例子,点击红色,会继续触发蓝色的 click


蓝色:
红色:

结论:

  • 默认为false,则内层的触发先于外层
  • true 的触发顺序总是在 false 之前
  • 如果多个均为 true,外层优先

如何停止事件冒泡?

event.stopPropagation() 老版本 ie 用 event.cancelBubble=true

var target = event.target || event.srcElement

event = event || window.event // cross-browser event
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)