我有一个div元素,其中包含一些子控件(下拉列表和复选框)。
我需要一些jquery,它会在单击任何子元素时运行,但不会在单击div中的空白空间时运行。
完成此任务的jQuery是什么?
答案 0 :(得分:2)
大概是这样的
$('YourDivSelector *').click(function(){
// your stuff here
});
答案 1 :(得分:1)
如mguimard的答案所示,仅将点击附加到子元素是最佳方法。 如果div的内容是动态的,你可以使用event.target来检查被点击的元素是否与函数所附加的元素相同,如下所示:
$('#YourDivID').click(function(e){
if(e.target!==this)
console.log('child element clicked');
});
答案 2 :(得分:0)
您可以使用target.nodeName
e.x检查儿童是否被点击。 :
$("#div").click(function(event) {
console.log("clicked: " + event.target.nodeName);
});