类别:浏览器 / 日期:2023-02-02 / 浏览:280 / 评论:0
事件是用户操作网页时发生的交互动作,比如 click/move, 事件除 了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。事 件被封装成一个 event 对象,包含了该事件发生时的所有相关信息 ( event 的属性)以及可以对事件进行的操作( event 的方法)。 事件是用户操作网页时发生的交互动作或者网页本身的一些操作,现 代浏览器一共有三种事件模型:
DOM0 级事件模型,这种模型不会传播,所以没有事件流的概念,但 是现在有的浏览器支持以冒泡的方式实现,它可以在网页中直接定义监听函数,也可以通过 js 属性来指定监听函数。所有浏览器都兼容 这种方式。直接在 dom 对象上注册事件名称,就是 DOM0 写法。
IE 事件模型,在该事件模型中,一次事件共有两个过程,事件处理 阶段和事件冒泡阶段。事件处理阶段会首先执行目标元素绑定的监听 事件。然后是事件冒泡阶段,冒泡指的是事件从目标元素冒泡到 document,依次检查经过的节点是否绑定了事件监听函数,如果有则 执行。这种模型通过 attachEvent 来添加监听函数,可以添加多个 监听函数,会按顺序依次执行。-事件模型
DOM2 级事件模型,在该事件模型中,一次事件共有三个过程,第一 个过程是事件捕获阶段。捕获指的是事件从 document 一直向下传播 到目标元素,依次检查经过的节点是否绑定了事件监听函数,如果有 则执行。后面两个阶段和 IE 事件模型的两个阶段相同。这种事件模 型,事件绑定的函数是 addEventListener,其中第三个参数可以指 定事件是否在捕获阶段执行。-事件
发表评论 / 取消回复