jQuery判断获取元素的类型 父元素的click事件集中管理子元素的click

分类:Javascript| 发布:camnprbubuol| 查看: | 发表时间:2013/1/10

$(document).click(function(event){

    var src_element_id = $(event.srcElement || event.target).attr("id");

   //没点击一次就获取当前元素ID

   // event.srcElement || event.target  代表的原生JS对象,获取ID,使用(event.srcElement || event.target).id


   if(src_element_id =="camnpr" && src_element_id == "kuabaobao"){ //筛选指定ID下的内容,有执行事件的权限
      //do something
   }

// or ....

if (src_element_id.is("a") ) { //使用jQuery中的 is 函数来判断元素的类型
    src_element_id.css("background-color", "red");
}


});

使用原生JS的方法是:var obj = document.getElementById("camnpr");

alert(obj.type);    alert(obj.nodeType);

nodeName、nodeValue 以及 nodeType 包含有关于节点的信息

题外话:

先来看个例子:

$("#camnpr").click(function(e){...});

$("#kuabaobao").click(function(e){...});

$("#raodaor").click(function(e){...});

...

这样要绑定N个事件到N个元素上,本身创建事件,是保存到内存中的,事件越多,内存占有的就多;另一方面,多个事件不集中,管理也不方便。 如果就上边的给document定义一个事件,那么,多个元素的click,就创建了一次事件,节约了开销,也便于统一管理了。  自然,不必一定只是document,只要是给多个元素的父元素定义,都是可以的。

相关详细介绍,可以参考《Javascript高级程序设计》一书中的12章:12.5 内存和性能 328

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/606.html