Query对DOM的事件触发具有冒泡特性。有时利用这一特性可以减少重复代码,但有时候我们又不希望事件冒泡。这个时候就要阻止
jQuery.Event冒泡。
在jQuery.Event
的文档
中的开头得知,jQuery.Event对象是符合W3C标准的一个事件对象,同时jQuery.Event免去了检查兼容IE的步骤。
jQuery.Event提供了一个非常简单的方法来阻止事件冒泡:event.stopPropagation();
$("p").click(function(event){
event.stopPropagation(); // do something
})
但是这个方法对使用live
绑
定的事件没有作用,需要一个更简单的方法阻止事件冒泡:return false;
$("p").live("click", function(){
$(this).after("Another paragraph!");
return false;
});
另外 JavaScript 阻止冒泡
阻止冒泡事件的方法有两种,第一种是IE的方法,第二种是DOM方法,至于为什么要分为两种方法去讨论之,这里就不做讨论了,总之是浏览器一些蹩
脚的问题,好了废话不说了,直接贴代码了:
//阻止冒泡事件
function stopBubble(e) {
if (e && e.stopPropagation) {//非IE
e.stopPropagation();
}
else {//IE
window.event.cancelBubble = true;
}
}
举个例子:就是谷歌首页的更多选项吧,不知道的可以去看看http://www.google.com/
。
这里要应用两个点击事件,一个是div.onclick,另一个就是document.onclick,那么问题就出现了,在调用
div.onclick的时候,由于冒泡事件的存在,会自动的调用document.onclick,由于冒泡的顺序是从里向外的
(div->body->document->html)所以div.onclick事件就会被覆盖掉,也就不会执行了,解决的方案其
实也是很简单的哦,就是在执行div.onclick的时候阻止冒泡事件就好了,那怎么阻止呢,就调用上面的函数就ok了!哈哈!
ps:在介绍
一下阻止浏览器默认行为的方法,大同小异,这里就不再赘述了。
function stopDefault(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault)
e.preventDefault();
//IE中阻止函数器默认动作的方式
else
window.event.returnValue = false;
return false;
}
分享到:
相关推荐
什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件...如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/
jQuery库提供了方便的方式来处理DOM事件,包括阻止事件冒泡的功能。这个功能在构建交互式网页时非常有用,可以避免不必要的事件处理或者防止多次执行相同的操作。 jQuery中的`event.stopPropagation()`方法是阻止...
jquery阻止冒泡的所有方法,适合初学jquery者,是一篇很好的学习文稿
### JS与jQuery阻止事件冒泡详解 #### 一、引言 在Web开发中,事件处理是不可或缺的一部分,其中事件冒泡机制尤为重要。事件冒泡是指事件从最深层的节点开始,逐级向上传播至最顶层的节点。在某些情况下,我们希望...
什么是JS事件冒泡? 在一个对象上触发某类事件... 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 代码如下: <%@PageLanguage=”C#”AutoEventWireup=”true”CodeFile=”Default5.aspx.cs\u201dInherits=
### 二、阻止jQuery事件冒泡 在jQuery中,有几种方法可以阻止事件冒泡: 1. **`event.stopPropagation()`**:这是W3C标准的方法,用于阻止事件继续向上级元素传播。但是,当使用`.live()`或`.on()`(`.live()`在...
一、什么是jquery事件冒泡 在很多教材或者手册都可能会涉及到事件冒泡的概念,老手来说这当然是最基本的概念,但往往对于初学者可能比较陌生或者说从来没有听说过。下面就结合代码实例来简单介绍一下什么是事件冒泡...
综上所述,jQuery事件处理机制中的绑定和解绑、事件冒泡与阻止事件冒泡是前端开发中非常重要的知识点。在实际开发过程中,灵活运用这些技术可以实现更加丰富的交互效果,并提升用户体验。通过上述实例的介绍和分析,...
在jQuery中,可以通过几种方式来阻止事件冒泡。 - 使用返回false的方式:在事件处理函数中直接返回false,这将同时阻止事件冒泡和事件的默认行为。例如:`$(selector).click(function() { return false; });` - ...
JQuery 提供了两种方式来阻止事件冒泡。 方式一:event.stopPropagation(); 代码如下: $(“#div1”).mousedown(function(event){ event.stopPropagation(); }); 方式二:return false; 代码如下: $(“#div1”)....
本文将介绍如何在使用JQuery时阻止这种事件冒泡的行为。 事件冒泡机制是DOM事件流的三个阶段之一,即事件捕获阶段、目标阶段、事件冒泡阶段。在事件冒泡阶段,事件会从目标元素开始,逐级向上传播到document。阻止...
除了这两种阻止事件冒泡的方法,JQuery还提供了`event.preventDefault()`,这个方法并不阻止事件冒泡,而是阻止了事件的默认行为。例如,点击链接默认会跳转到新的URL,但如果在事件处理程序中调用了`event....
在JavaScript和jQuery中,事件处理有两个关键...总的来说,理解事件冒泡、事件委托以及如何阻止和允许事件冒泡是jQuery事件处理中的核心技能。熟练掌握这些技巧,能够帮助开发者编写更加高效和灵活的JavaScript代码。
如何阻止事件的冒泡? 方式一:在事件的回调函数中加上return false; 方式二:在事件回调函数的形参列表中添加event,然后在回调函数中调用event.stopPropagation();. 事件的默认行为 什么是事件的默认行为? ...
标题中提到的“js阻止冒泡及jquery阻止事件冒泡示例介绍”涉及JavaScript和JQuery两种技术在事件处理中阻止事件冒泡的概念。冒泡是指当一个元素上触发了某个事件(如点击),这个事件不仅会在该元素上进行处理,还会...
JavaScript+jQuery 网页特效设计;鼠标事件;1、鼠标事件;1、鼠标事件(案例);2、键盘事件;2、键盘事件(案例);3、事件的冒泡与阻止;3、事件的冒泡与阻止;3、事件的冒泡与阻止;...3、事件的冒泡与阻止