什么是JS事件冒泡?...(摘自网络) 如何来阻止Jquery事件冒泡?...事件冒泡 ...,阻止了事件冒泡,但不会阻击默认行为(它就执行了超链接的跳转) 2.return false; 事件处理过程中,阻止了事件冒泡,也阻止了默认行为(比如刚才它就没有执行超链接的跳转) 还有一种有冒泡有关的...友情提示:事件冒泡不一定是个坏的东西,有些情况会让不同层次捕获不同的事件!
什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播...事件冒泡的作用 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。...事件冒泡的示例 编写三个嵌套的div,同时绑定click事件,来演示事件冒泡。 ?...设置了阻止冒泡传递之后,那么click()事件就不会传递到father和grandfather的事件,所以只有一个alert()弹出。 完整事件冒泡示例代码 <script type="text/javascript" src="<em>jquery</em>-3.4.0.
取消默认冒泡事件的三种方式 1.通过返回false来取消默认的行为并阻止事件起泡 $(element).click(function(){ return false; }) 2.通过使用preventDefault...$(element).click(function(e){ e.preventDefaule(); }) 3.通过使用stopPropagation()方法阻止事件起泡 $(element).click
但是,由于事件冒泡,这个click()一直冒泡到了$(documen),导致直接触发了$(document)的click(),从而直接执行了fadeOut(),使得弹框出现一会又立即消失的情况。...解决#btn的事件冒泡,使用return false; ? 在阻止了#btn按钮的click()事件冒泡到$(document)之后,那么弹框就可以正常显示了。...这个思路不涉及事件冒泡的阻止,但是属于同一个click()方法的阻止,因为点击$(document)的click()事件应该不会冒泡到它下面的元素.pop,不过可以在这里验证一下。...执行完毕了alert()的事件之后,就继续冒泡将click()方法至下而上得冒泡至$(document),导致$(document)执行fadeOut()。...写到这里基本已经演示完了关于事件冒泡的弹框示例了。 完整代码 <!
2.解决思路: 比如可以把button换掉;阻止keydown事件的默认行为preventDefault等。...3.举例说明: 1.阻止浏览器的默认行为 function stopDefault(e) { if(e && e.preventDefault) { //如果提供了事件对象,则这是一个非IE...中阻止函数器默认动作的方式 window.event.returnValue = false; } return false; } 2.停止事件冒泡...(); //因此它支持W3C的stopPropagation()方法 } else { //否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble... } } function stopDefault(e) { if(e && e.preventDefault) { //如果提供了事件对象
因为按钮在文档内,所以会产生事件冒泡使得在点按钮打开菜单时无法正常执行。所以我们需要阻止事件冒泡。例子代码如下: <!...green;} span{display:block;width:100px;height:30px;background-color:skyblue;} 消失的盒子 //点span显示盒子 $("span").click( function(){ event.stopPropagation()//阻止事件冒泡
阻止冒泡 ...在上面的函数中,先弹出 “我是li”然后弹出“我是ul”,最后弹出“我是div” 一层一层的冒泡,而阻止冒泡的方式就是调用 事件的对象来调用stopPropagation()方法。...: 1.一个事件起泡对应触发的是上层的同一事件 单击two的时候就会起泡触发one单击的事件。...3.e.stopPropagation()只要在click事件中,就不会触发上层click事件。
刷新页面 点击“外部BTN” 结果如图所示 因为事件的引发者没有在panl1中所以不会再触发panel1的事件了 以上说的都是非冒泡事件,事件的执行顺序是从外层容器到内层容器执行的 5....如果要在事件冒泡阶段捕捉事件 创建事件的代码为 var Event:btnEvent1=new btnEvent1(btnEvent1.EVENT_NAME,true);//最后一个参数bubbles应为...是false 这样设置后就是冒泡事件,事件的执行顺序是从内层容器到外层容器执行的 6....如果即要捕捉非冒泡事件,又要捕捉冒泡事件 那么 创建事件的代码为 var Event:btnEvent1=new btnEvent1(btnEvent1.EVENT_NAME,true);//最后一个参数...);//非冒泡监听 this.panel1.addEventListener(btnEvent1.EVENT_NAME,panelCatchEvent,false);//冒泡监听 这样设置之后,事件先从外部执行到内部
什么是冒泡? DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。...事件冒泡**(***dubbed bubbling***)**:与事件捕获恰恰相反,事件冒泡顺序是由内到外进行事件传播,直到根节点。...dom标准事件流的触发的先后顺序为:先捕获再冒泡,即当触发dom事件时,会先进行事件捕获,捕获到事件源之后通过事件传播进行事件冒泡。...参数 useCapture 是选填的,填true或者false,用于描述事件是冒泡还是捕获,true表示捕获,默认的false表示冒泡。...stopPropagation()方法 } else { window.event.cancelBubble = true; //否则,我们需要使用IE的方式来取消事件冒泡
javascript 的事件捕获和事件冒泡之前一直没能弄明白,知道看到一个例子。...利用丢一颗石头入水的例子,就能够非常形象了,如图所示: 事件捕获和事件冒泡就像是一颗石头(点击事件)投入水中: 首先是最外层水面(html)接触(捕获)石头,然后石头下沉,内层的水(body/dom...当石头到达池塘底部(事件被捕获)之后,产生了一个气泡,然后就开始了冒泡阶段 由底部(目标元素)产生的气泡,由内而外,不断向上冒泡,直到最外面(html标签)结束。...点击可查看示例 去示例中试一试便清楚了~ 处理事件 理解了事件的捕获和冒泡机制,对于事件处理就好办了。...,比如是在‘石头’下沉或者‘气泡’冒泡的过程中使之突然消失 事件代理: 从上面事件机制可以看出,如果没有外部干扰,在子节点上触发的事件,在捕获和冒泡最终都会经过父节点 因此,我们可以将事件处理函数绑定在父节点上面
先上结论: 他们是描述事件触发时序问题的术语。事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。...绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。...Jquery的e.stopPropagation会阻止冒泡,意思就是到我为止,我的爹和祖宗的事件就不要触发了。...事件的触发顺序自内向外,这就是事件冒泡。...事件触发顺序变更为自外向内,这就是事件捕获。 方法: 阻止事件冒泡 和默认行为。 事件冒泡: ? 阻止默认行为: ?
height: 100px; background: blue; } $(function() { //“冒泡事件:微软提出的 事件由子元素传递到父元素的过程...$(".son").click(function(event) { // return false;//不仅阻止了事件往上冒泡,而且阻止了事件本身。...event.stopPropagation();//则只阻止事件往上冒泡,不阻止事件本身。...}); //“冒泡事件:微软提出的 事件由子元素传递到父元素的过程,叫做冒泡” //但是在实际项目开发中,我们可能并不需要元素的默认行为,所以就可以通过以下方式进行禁止。
span> 登录 全选 反选 取消 <script src="<em>jquery</em>...// 妈的,学你妈的前端啊,心真累... } ); setInterval(f, 10) 11.关于<em>事件</em>的<em>冒泡</em>...content-Type" charset="UTF-8"> 我的事件冒泡...function(event){ alert("儿子辈的"); event.stopPropagation() // 阻止事件向上级冒泡
一、事件冒泡与阻止事件冒泡 事件冒泡:当一个元素触发某个事件的时候,会把这个事件传播到其父元素,一直到顶层元素。 阻止事件冒泡:在被触发事件的子元素中添加 return false; 即可。...二、事件的触发 之前讲的绑定事件是事件触发后的事件处理过程,并且上面的事件触发是被动的事件触发,怎么可以主动触发事件呢?...// 鼠标按下的键值 e.button // 按键按下的键值 e.keyCode // 触发该事件的目标对象,是一个 DOM 对象 // 当发生事件冒泡的时候,可以定位到具体发生事件的源对象,而不是冒泡的对象...还有一个问题,就是 jQuery 中 val(); 在没有参数时时读取数值,不能链式编程;在有参数的时候是设置,可以链式编程。...☆ ☆ ☆ ☆ <script src="<em>jquery</em>
讲 事件冒泡 、阻止冒泡 和 事件捕获 之前先说说什么是事件流,这样会更容易明白 一、事件和事件流 1、什么是事件 事件是可以被 JavaScript 侦测到的行为。...一个完整的JS事件流是从window开始,最后回到window的一个过程。 事件流被分为三个阶段(1~ 5)捕获过程、(5~ 6)事件触发过程、(6~ 10)冒泡过程。...二、事件冒泡 看了上面的那张图应该对事件冒泡有了大概的了解了吧。总结来说就是: 当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window。...三、阻止冒泡 1、JS阻止事件冒泡 我们用 e.stopPropagation() 这个方法添加到某事件函数里的末尾,就可以做到阻止冒泡事件。...2、JQ阻止事件冒泡 jq阻止事件冒泡就简单了,直接在事件函数里面添加 return false; 就行了。
常用事件 click() 鼠标单击 blur() 元素失去焦点 focus() 元素获得焦点 mouseover() 鼠标进入(进入子元素也触发) mouseout() 鼠标离开(离开子元素也触发) ready...,但是它是一个原生js对象 // this.style.background = 'red'; // $(this) 指的是当前发生事件的jquery对象...$(this).css({'background':'gold'}); // 获取jquery对象的索引值,通过index() 方法...,但是它是一个原生js对象 $(this) 指的是当前发生事件的jquery对象 2....小结 jQuery常用事件: click() 鼠标单击 blur() 元素失去焦点 focus() 元素获得焦点 mouseover() 鼠标进入(进入子元素也触发) mouseout() 鼠标离开(离开子元素也触发
label>Newsletter: jQuery...Hello AgainAnd Again $("div").siblings() 结果:[ Hello, And Again ] 添加点击事件
1 鼠标事件 click() ------- 鼠标单击事件 dbclick() -------鼠标双击事件 mouseenter() ...-------鼠标移入事件 mouselever() ------鼠标移出事件 hover() ------光标悬停事件 2 键盘事件 keydown(...如果是keypress事件中,则拿到ASCII码. } ); 案例2:传递数据给事件处理函数 语法: jQueryObject.keydown( [[ data ,] handler ] ); data...return event.which >= keys.start && event.which <= keys.end; } ); 3 表单事件 submit -----提交事件 ...focus() ------获得焦点事件 blur( ) ------失去焦点事件
事件冒泡: 事件冒泡由IE团队提出来的,即事件开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播。...IE9,chrome,Firefox,Opera,Safari都支持事件冒泡,并将事件冒泡到window对象。 如下,点击obj3,依次弹出obj3、world、hello。...addEventListener('click', function () { alert('obj3'); })//依次弹出obj3、world、hello 阻止事件冒泡的方法...: 方式一:event.stopPropagation(); 方式二:return false; return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。...event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。
Vue 阻止事件冒泡 by:授客 QQ:1033553122 开发环境 Win 10 element-ui "2.8.2" Vue 2.9.6 事件冒泡简介 如下图,当我们点击页面某个元素时,会产生点击事件...,事件由外到内,逐层递进(事件捕获阶段,途中的1->2->3->4),当目标元素捕捉到目标事件时,会响应事件,并由内到外,逐层往外传递(事件冒泡阶段,图中的4->5->6->7),这便是事件冒泡。...正式因为冒泡机制,当用户点击图中目标元素div时,5,6,7事件区的元素都会响应点击事件(如果具备响应事件能力的话) ?...结论 综合实验1,2,3可知,如果想阻止哪个元素的事件冒泡(即事件只针对该元素有效),只要给该元素的事件增加.stop修饰符即可。...某些元素(如带href属性的超链接元素a)拥有自身的默认事件(事件冒泡结束之后开始执行,并且不受.stop影响),如果不希望元素响应默认事件,可以给元素事件增加.prevent。
领取专属 10元无门槛券
手把手带您无忧上云