Jquery 单击元素时触发操作,但单击某些特定子元素时不触发操作
我有一个div,包含文本和一些链接。我想触发onclick事件,仅当单击发生在div中的任何位置,而不是任何链接上时 使用jQuery实现此功能的最佳性能方式是什么 我用的是Jquery 单击元素时触发操作,但单击某些特定子元素时不触发操作,jquery,Jquery,我有一个div,包含文本和一些链接。我想触发onclick事件,仅当单击发生在div中的任何位置,而不是任何链接上时 使用jQuery实现此功能的最佳性能方式是什么 我用的是 $('#div').click(function(){ }); 但是它禁用了所有div>a您可以使用 这会将单击绑定到div中不是标记的所有元素 这会将单击处理程序绑定到div本身,然后检查目标,如果不是,则会显示警报。您可以使用 $('#div').bind('click', function(e){ if(e
$('#div').click(function(){
});
但是它禁用了所有div>a您可以使用
这会将单击绑定到div中不是标记的所有元素
这会将单击处理程序绑定到div本身,然后检查目标,如果不是,则会显示警报。您可以使用
$('#div').bind('click', function(e){
if(e.target == this){
// do something
}
});
这会将单击绑定到div中不是标记的所有元素
这会将单击处理程序绑定到div本身,然后检查目标,如果不是,则会显示警报。这是因为您的选择器错误。您已经编写了$div:nota而不是$div:notadiv:nota,这将触发所有非子代的单击处理程序,但正如问题所述,不会在单击div本身的任何位置时触发。这是因为您的选择器错误。您已经编写了$div:nota而不是$div:notadiv:nota,这将触发所有非子代的单击处理程序,但正如问题所述,不会在单击div本身的任何位置时触发。
$('#div').bind('click', function(e){
if(e.target == this){
// do something
}
});
$('#div').bind('click', function(e){
if(e.target == this){
// do something
}
});