700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > javascript事件冒泡捕获和阻止事件传播示例代码详解

javascript事件冒泡捕获和阻止事件传播示例代码详解

时间:2021-03-16 12:56:07

相关推荐

javascript事件冒泡捕获和阻止事件传播示例代码详解

web前端|js教程

javascript,js,阻止

web前端-js教程

1.什么是事件冒泡?

摄影站网站源码下载,ubuntu禁止内核升级,tomcat服务器监听乱码,网络爬虫淘宝商品,php网站建设入门必练,郑州seo笔记lzw

在排序算法中,我们学过冒泡排序法,所谓冒泡就是让底层的东西浮出水面,对于事件冒泡也同样是如此,

易语言文字滚动源码,vscode找不到需要调试,ubuntu启动技巧,jsp挂载至tomcat,浙江爬虫公司,php套件下载,鼓楼区网页seo优化,源码售卖网站,wordpress适合企业网站模板lzw

下面我们来看一个例子来说明什么是事件冒泡。

京东云 源码下载,vscode变量监听,ubuntu光盘救援模式,tomcat市场版,sqlite 日期补0,ajax 分页插件,前端mvvm与mvc框架,爬虫可以爬csdn,php参数函数,seo pv,地图搜网站源码,手机网页模板 php,织梦百度模板,微信推送wap页面,学生信息管理系统c语言源代码,baidu搜索小偷最新 程序下载lzw

$("p").bind("click",function(){alert("p")}); $("button").bind("click",function(){alert("button"});

当支持事件冒泡时,当我们点击”测试”按钮时,首先会执行的是alert(“button”),固名思意:

事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

当p,button,html根元素都有事件时,事件执行的顺序为:

button->p->html

2.什么是事件捕获?

我们再来看事件捕获,相对于事件捕获,处理时间的顺序与事件冒泡截然相反,同样:

$("p").bind("click",function(){alert("p")}); $("button").bind("click",function(){alert("button"});

执行这段代码,首先会alert(“p”),其次会alert(“button”)。我们明确事件捕获的概念:

事件从最不精确的对象(document 对象)开始触发,然后到最精确。

同样的如果button,p,html元素上都有绑定事件,那么事件的实行顺序为:

html->p->button

3.各个版本的浏览器对事件的处理机制?

(1)在DOM中,即支持事件冒泡,也支持事件捕获,在W3C的标准中,认为任何事件都是从事件捕获出发,找到最终的结点,此后再进行冒泡,会到根结点。

DOM中支持事件绑定的函数为:

addEventListener("事件名",函数,userCapture);

对于userCapture参数,默认为false,支持事件冒泡。

若在userCapture参数,为true时,支持事件捕获。

(2)对于很多浏览器,都支持addEventListener方法,但是IE不支持!

(3) IE中的事件处理机制,IE中只支持事件冒泡,IE中有一个独有的事件绑定方法

attachEvent方法,此方法有两个参数:

attachEvent("事件名","函数名")

4.如何阻止事件的传播?

无论是事件冒泡还是事件捕获都是可以阻止的。

(1)首先在W3C中阻止事件的传播方法为:stopPropagation(),在IE中,通过设置

cancelBubble=true;

(2) 如何阻止事件的默认行为?在W3C标准中,使用preventDefault方法,在IE中通过设置

window.event.returnValue = false;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。