• JavaScript捕获与冒泡与委托


    事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。

    相反的,事件冒泡是自下而上的去触发事件。

    并不是所有的事件都能冒泡,以下事件不冒泡:blur、focus、load、unload

    阻止冒泡的方法

    if(event && event.stopPropagation){ // w3c标准 
      event.stopPropagation(); 
    }else{ // IE系列 IE 678 
      event.cancelBubble = true; 
    }

    事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。 

    $("#info_table td").bind(

      {
        click:function(){$("p").slideToggle();},
        mouseover:function(){$("body").css("background-color","red");},
        mouseout:function(){$("body").css("background-color","#FFFFFF");}
      }
    );

    $("#info_table td").live("click",function(){/*显示更多信息*/}); 
    $("#info_table").delegate("td","click",function(){/*显示更多信息*/}); 
    $(elems).on(events, selector, data, fn);
    $(elems).off(events, selector, fn);
    如果指定selector,则为事件委托;否则,就是常规绑定。
    现在只要用on方法就可以了,推荐用on方法进行委托或常规绑定事件
    If there are similarities, forgive me.
  • 相关阅读:
    poi管道流的导入导出
    Mysql导入数据库的方法
    MySQL数据库指定字符集
    eclipse 的操作
    Mysql的操作
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/caozhuzi/p/11093778.html
Copyright © 2020-2023  润新知