`
天梯梦
  • 浏览: 13731069 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

阻止jQuery事件冒泡

阅读更多

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;
    } 
 
分享到:
评论
3 楼 smilet 2013-06-06  
3Q.. 
2 楼 天梯梦 2012-10-17  
nirvana0701 写道
楼主 return false会带来checkbox失效,还是第一种比较好用。

多谢提醒~
1 楼 nirvana0701 2012-10-17  
楼主 return false会带来checkbox失效,还是第一种比较好用。

相关推荐

    一个小例子解释如何来阻止Jquery事件冒泡

    什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件...如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/

    jquery阻止事件冒泡

    jQuery库提供了方便的方式来处理DOM事件,包括阻止事件冒泡的功能。这个功能在构建交互式网页时非常有用,可以避免不必要的事件处理或者防止多次执行相同的操作。 jQuery中的`event.stopPropagation()`方法是阻止...

    jquery阻止冒泡实例

    jquery阻止冒泡的所有方法,适合初学jquery者,是一篇很好的学习文稿

    js阻止冒泡及jquery阻止事件冒泡示例介绍.docx

    ### JS与jQuery阻止事件冒泡详解 #### 一、引言 在Web开发中,事件处理是不可或缺的一部分,其中事件冒泡机制尤为重要。事件冒泡是指事件从最深层的节点开始,逐级向上传播至最顶层的节点。在某些情况下,我们希望...

    jquery 事件冒泡的介绍以及如何阻止事件冒泡

    什么是JS事件冒泡? 在一个对象上触发某类事件... 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 代码如下: <%@PageLanguage=”C#”AutoEventWireup=”true”CodeFile=”Default5.aspx.cs\u201dInherits=

    jQuery中阻止冒泡事件的方法介绍

    ### 二、阻止jQuery事件冒泡 在jQuery中,有几种方法可以阻止事件冒泡: 1. **`event.stopPropagation()`**:这是W3C标准的方法,用于阻止事件继续向上级元素传播。但是,当使用`.live()`或`.on()`(`.live()`在...

    理解jquery事件冒泡

    一、什么是jquery事件冒泡 在很多教材或者手册都可能会涉及到事件冒泡的概念,老手来说这当然是最基本的概念,但往往对于初学者可能比较陌生或者说从来没有听说过。下面就结合代码实例来简单介绍一下什么是事件冒泡...

    jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例

    综上所述,jQuery事件处理机制中的绑定和解绑、事件冒泡与阻止事件冒泡是前端开发中非常重要的知识点。在实际开发过程中,灵活运用这些技术可以实现更加丰富的交互效果,并提升用户体验。通过上述实例的介绍和分析,...

    事件冒泡是什么如何用jquery阻止事件冒泡

    在jQuery中,可以通过几种方式来阻止事件冒泡。 - 使用返回false的方式:在事件处理函数中直接返回false,这将同时阻止事件冒泡和事件的默认行为。例如:`$(selector).click(function() { return false; });` - ...

    JQuery中阻止事件冒泡几种方式及其区别介绍

    JQuery 提供了两种方式来阻止事件冒泡。 方式一:event.stopPropagation(); 代码如下: $(“#div1”).mousedown(function(event){ event.stopPropagation(); }); 方式二:return false; 代码如下: $(“#div1”)....

    利用JQuery阻止事件冒泡

    本文将介绍如何在使用JQuery时阻止这种事件冒泡的行为。 事件冒泡机制是DOM事件流的三个阶段之一,即事件捕获阶段、目标阶段、事件冒泡阶段。在事件冒泡阶段,事件会从目标元素开始,逐级向上传播到document。阻止...

    JQuery 提供了两种方式来阻止事件冒泡.rar

    除了这两种阻止事件冒泡的方法,JQuery还提供了`event.preventDefault()`,这个方法并不阻止事件冒泡,而是阻止了事件的默认行为。例如,点击链接默认会跳转到新的URL,但如果在事件处理程序中调用了`event....

    jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法

    在JavaScript和jQuery中,事件处理有两个关键...总的来说,理解事件冒泡、事件委托以及如何阻止和允许事件冒泡是jQuery事件处理中的核心技能。熟练掌握这些技巧,能够帮助开发者编写更加高效和灵活的JavaScript代码。

    JQuery事件冒泡和默认行为代码实例

    如何阻止事件的冒泡? 方式一:在事件的回调函数中加上return false; 方式二:在事件回调函数的形参列表中添加event,然后在回调函数中调用event.stopPropagation();. 事件的默认行为 什么是事件的默认行为? ...

    js阻止冒泡及jquery阻止事件冒泡示例介绍

    标题中提到的“js阻止冒泡及jquery阻止事件冒泡示例介绍”涉及JavaScript和JQuery两种技术在事件处理中阻止事件冒泡的概念。冒泡是指当一个元素上触发了某个事件(如点击),这个事件不仅会在该元素上进行处理,还会...

    鼠标键盘事件及事件冒泡.pptx

    JavaScript+jQuery 网页特效设计;鼠标事件;1、鼠标事件;1、鼠标事件(案例);2、键盘事件;2、键盘事件(案例);3、事件的冒泡与阻止;3、事件的冒泡与阻止;3、事件的冒泡与阻止;...3、事件的冒泡与阻止

Global site tag (gtag.js) - Google Analytics