Javascript 仅在单击父div中的子元素时执行的jQuery
我有一个div元素,其中包含一些子控件(下拉列表和复选框) 我需要一些jquery,它将在单击任何子元素时运行,而不是在单击div中的空白时运行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
要实现这一点,正确的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已被单击(父或子一)。