所以我有以下事件监听器:
$("#searchArea dl dd a").on('click',function(e){
//code
});
我希望它只在'" a" " dd"中的节点单击节点(位于#searchArea div中),但我也有一些" i" " a"内的节点节点。显然,事件监听器在单击它们时也会执行该功能。
以下是结构示例:
<div id="searchArea">
<dl>
<dd>
<a>
<i></i>
<a>
<dd>
<dl>
</div>
有没有办法阻止&#34; i&#34;节点如果被点击则执行该功能? 非常感谢帮助。
答案 0 :(得分:4)
只需比较事件的目标:
$("#searchArea dl dd a").on('click',function(e){
if (e.target !== this) return;
//code
});
(请注意,这利用了jQuery规范化事件对象的事实,因此在所有浏览器中都有&#34; target&#34;属性。)