DOM事件模型

95 阅读1分钟

描述

通俗理解,事件是用户或者浏览器自己执行的某种动作,是文档或者浏览器发生的一些交互瞬间,比如点击(click)按钮等,这里的click就是事件的名称。JS与html之间的交互是通过事件实现的,DOM支持大量的事件。 注意:target和currentTarget一个是用户点击的,一个是开发者监听的

事件流

  • 事件冒泡 事件冒泡是IE 的事件流,事件是由最具体的元素接收,然后逐级向上传播,在每一级的节点上都会发生,直到传播到document对象,向Chrome这样的浏览器会冒泡到window 对象(很容易记忆,联想水里的泡泡不也这样么)。

  • 事件捕获 事件捕获是Netscape浏览器开发团队提出的,很有意思,他们思想和IE 的截然相反。也就是说,从不具体的节点到最具体的节点,一般是从document对象开始传播。

  • 事件流 这里规定的事件流有三个阶段: 事件捕获阶段,目标阶段,事件冒泡阶段。

  • 事件的特性 Bubbles表示是否冒泡,Cancelable表示是否支持开发者取消冒泡,如scroll不支持取消冒泡

  • 取消冒泡

e.stopPropagation()
  • 禁止滚动 取消特定元素的wheel和touchstart的默认动作