Javascript 当处理多个堆叠的div时,jquery中的click()函数是如何工作的?

Javascript 当处理多个堆叠的div时,jquery中的click()函数是如何工作的?,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,当处理多个堆叠的div时,jquery中的click()函数是如何工作的 我有一个主要的div和另一个div在主div里面,当我点击div内部时,它也被认为是点击了主div,但是我不想这样,我只想点击一下内部div。 <div id="main"><div id="inner"></div></div> 假设主div大得多,inner div只是一个小正方形,当我点击内部div(小正方形)时,我不希望它触发任何东西,就像我点击主div一样。我

当处理多个堆叠的div时,jquery中的click()函数是如何工作的

我有一个主要的div和另一个div在主div里面,当我点击div内部时,它也被认为是点击了主div,但是我不想这样,我只想点击一下内部div。

<div id="main"><div id="inner"></div></div>


假设主div大得多,inner div只是一个小正方形,当我点击内部div(小正方形)时,我不希望它触发任何东西,就像我点击主div一样。我如何操作?再次感谢

事件从单击的事件到它的所有祖先都会出现。处理该事件的任何祖先都将触发其处理程序

您需要做的是调用
event.stopPropagation()
,以防止事件冒泡到其祖先元素

$('#inner').click(function(evt) {
    evt.stopPropagation();
    // your code
});
另一种选择是
返回false位于处理程序的末尾

$('#inner').click(function(evt) {
    // your code
    return false;
});
您可以在这里进行测试:

您可以使用css id调用内部div

$('#inner').click(function() {  
  alert('clicked inner div'); // do something
});