$(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