仅在单击父div中的子元素时执行的jQuery

时间:2015-07-02 14:23:58

标签: javascript jquery

我有一个div元素,其中包含一些子控件(下拉列表和复选框)。

我需要一些jquery,它会在单击任何子元素时运行,但不会在单击div中的空白空间时运行。

完成此任务的jQuery是什么?

3 个答案:

答案 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);
});