如何让jQuery忽略父母.click()

示例代码:

Click here
$('*').click(function() { alert($(this).attr('id')); });

当您单击“单击此处”时,它会发出两次警报,一次使用“ b ”,然后使用“ a ”。

我需要弄清楚如何让jQuery 忽略用户点击的所有父母 ,只是警告,在这种情况下,’b’。

尝试使用$('body').delegate('*', 'click', fn)而不是直接事件处理程序。 (请参阅jQuery.delegate 。)对于每个事件,它将被调用一次,您可以从事件对象中找出受影响的元素。

试试这个:

  $('*').click(function(e) { e.stopPropagation(); // do something }); 

在这里您可以找到文档: http : //api.jquery.com/event.stopPropagation/

您正在使用“所有选择器” http://api.jquery.com/all-selector/

我想你正在寻找这个:

 $('#b').click(function() { alert( $(this).attr('id') ); }); 

使用stopPropagation :

 $('*').click(function(event) { alert($(this).attr('id')); event.stopPropagation(); });