JS:关于事件触发机制

事件触发经历三个阶段

捕获阶段->目标阶段->冒泡阶段

  • 事件捕获:从外层一层一层往内部直至传递到目标元素;
  • 事件冒泡:从目标元素开始一层层向外传递至根节点;

DOM事件流,是先调用捕获阶段的处理函数,其次调用目标阶段的处理函数,最后调用冒泡阶段的处理函数;
若使用 addEventListener 监听事件,默认是监听冒泡阶段的事件,但可以通过 useCapture 参数,来指定在什么阶段触发事件。设置useCapturetrue则在捕获阶段触发,为false则在冒泡阶段触发。

而默认情况下,捕获阶段的事件处理函数,一定比冒泡阶段的事件处理函数先执行。

有些情况我们只需要触发子元素的事件处理函数即可,那么

如何阻止事件冒泡和事件捕获,即阻止事件传递?

利用event.stopPropagation();可以阻止事件向上(冒泡)或向下(捕获)传递。
但在IE8及以下用:window.event.cancelBubble=true阻止事件传递。

注意e.preventDefault() 是阻止默认事件的发生,不会阻止事件传递。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于event事件触发控制是一种常见的编程方法,它允许我们在特定的事件发生时执行代码或触发一些动作。在这种控制下,我们可以定义需要监听的事件,并通过设置相应的回调函数来处理这些事件事件可以是用户的操作,比如点击按钮、键盘输入等;也可以是系统的反应,比如网络请求完成、定时器触发等。在程序中,我们通过注册事件处理函数来捕获这些事件,并在事件发生时执行相应的逻辑或操作。 基于event事件触发控制的编程方式具有以下几个优点: 1. 高效灵活:通过监听事件并异步执行响应函数,可以充分利用计算资源,并提高程序的响应速度和并发能力。 2. 模块化设计:事件触发控制可以帮助我们将程序分解为更小的模块,每个模块专注于处理特定的事件,提高代码的可维护性和可扩展性。 3. 松耦合:通过事件触发控制,事件产生的模块和事件处理的模块可以解耦,降低了模块之间的依赖性,提高了代码的可测试性和重用性。 在具体实现中,我们可以使用各种编程语言或框架提供的事件机制来实现event事件触发控制。比如在JavaScript中,可以使用addEventListener函数来监听DOM事件;在Node.js中,可以使用EventEmitter对象来实现自定义事件触发和处理。同时,许多GUI编程工具和框架也提供了强大的事件触发控制功能,用于实现用户界面的交互和响应。 总之,基于event事件触发控制是一种强大的编程方法,能够帮助我们设计和实现灵活、高效的程序。通过合理地使用事件和回调函数,我们可以充分利用事件的特性,提升程序的性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值