Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在单击父div中的子元素时执行的jQuery_Javascript_Jquery - Fatal编程技术网

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

Javascript 仅在单击父div中的子元素时执行的jQuery,javascript,jquery,Javascript,Jquery,我有一个div元素,其中包含一些子控件(下拉列表和复选框) 我需要一些jquery,它将在单击任何子元素时运行,而不是在单击div中的空白时运行 要实现这一点,正确的jQuery是什么?大致如下 $('YourDivSelector *').click(function(){ // your stuff here }); 您可以检查是否使用target.nodeNamee.x: $("#div").click(function(event) { console.log("clic

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

我需要一些jquery,它将在单击任何子元素时运行,而不是在单击div中的空白时运行


要实现这一点,正确的jQuery是什么?

大致如下

$('YourDivSelector *').click(function(){
   // your stuff here
});

您可以检查是否使用
target.nodeName
e.x:

$("#div").click(function(event) {
    console.log("clicked: " + event.target.nodeName);
});

只有将单击附加到子元素(如mguimard的答案所示)才是最好的方法。 但是,如果div的内容是动态的,则可以使用event.target检查被单击的元素是否与函数附加到的元素相同,如下所示:

$('#YourDivID').click(function(e){  
  if(e.target!==this)
     console.log('child element clicked');  
});

到目前为止,您自己尝试过什么吗?为什么不直接通过jQuery将控件作为目标并向其附加一个事件侦听器呢?我对父DIV如何发挥作用感到困惑。在div中有很多控件。我希望jQuery对现在或将来的div中的任何子元素起作用。考虑下面的标记:<代码> <代码>,您不能用NODENAMY属性判断哪个div已被单击(父或子一)。