zoukankan      html  css  js  c++  java
  • jQuery阻止冒泡和HTML默认操作

     1:jQuery是一个快捷简便的JavaScript框架,说道框架可以直接理解为就是对原来底层的东西进行了封装使得开发者能够利用这个框架快速开发。

       2:在当今的各个浏览器中都支持事件的冒泡,所谓的冒泡可以这样理解:

           条件:外层有一个DIV元素,在内层有一个P元素,他两存在这样的关系:DIV是P元素的父元素,而P是外层DIV的子元素,他们之间存在包含和被包含的关系。
           事件:现在我们都在这两个元素上绑定相同的事件,比如click事件。
           结果:这时,当我们点击内层的P标签的时候,内层元素的click事件触发,同时外层DIV的click事件也会触发。
        3:在HTML中有的元素被定义了一些默认的属性,比如说A元素,这个元素就是我们平时使用的超链接标签,这个标签的默认属性是实现页面的跳转。
        4:在jQuery的每一个事件中都会有一个默认的对象作为该事件的参数(但是必须显示地被指定),这个对象就是event对象,它包含了一些属性和方法,用于不同的场合。如下:
           $('p:first').click(function(event){
              //event对象可以使用了
            });
        5:有时我们不希望冒泡或默认的事件发生,这样就需要一些jQuery的的方法阻止冒泡和默认的事件了。可以通过以下三种方法做到不同程度的阻止。
          A:return false --->In event handler ,prevents default behavior and event bubbing 。
             return false 在事件的处理中,可以阻止默认事件和冒泡事件。
          B:event.preventDefault()---> In event handler ,prevent default event (allows bubbling) 。
             event.preventDefault()在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。
          C:event.stopPropagation()---> In event handler ,prevent bubbling (allows default behavior).
             event.stopPropagation()在事件的处理中,可以阻止冒泡但是允许默认事件的发生。
      代码如:
             $('.menu li').click(function(){
                $(this).find('ul').toggle();
                return false;//去掉试试效果
                })
     
    //兼容代码如下: 

    function stopBubble(e) {
    //如果提供了事件对象,则这是一个非IE浏览器
    if ( e && e.stopPropagation )
    //因此它支持W3C的stopPropagation()方法
    e.stopPropagation();
    else
    //否则,我们需要使用IE的方式来取消事件冒泡
    window.event.cancelBubble = true;
    }

  • 相关阅读:
    Python之异常篇 [待更新]
    python脚本工具 - 4 获取系统当前时间
    python脚本工具 - 3 目录遍历
    数字签名和数字证书到底是个神马玩意?
    CSRF攻击[转]
    Python之数据结构篇
    Python之模块篇
    Python之函数篇
    python脚本工具-2 去除扩展名后提取目录下所有文件名并保存
    python脚本工具-1 制作爬虫下载网页图片
  • 原文地址:https://www.cnblogs.com/radom/p/1876179.html
Copyright © 2011-2022 走看看