• 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;
    }

  • 相关阅读:
    剑指offer面试题15:倒数第k个结点
    Leetcode 最小二叉树深度和删除数组重复元素
    剑指offer面试题13:O(1)删除链表结点
    驰骋工作流引擎Silverlight版本的流程解析执行器预计在6月份发布
    功能新增:在流程属性的增加了一个重新生成流成标题的功能.
    驰骋工作流引擎LigerUI版本发布说明书
    驰骋工作流引擎虚拟机文件使用说明书
    节点属性”谁执行它”的属性解释
    如何利用ccform自定义表单来增加自己的控件,关于Sys_FrmEle表结构与数据存储设计?
    使用开源的驰骋表单设计器设计表单案例演示
  • 原文地址:https://www.cnblogs.com/radom/p/1876179.html
Copyright © 2020-2023  润新知