我正在尝试在 UL 上绑定一个处理程序,以检测何时在 LI 内单击 div,然后在 LI 内触发超链接单击事件。
注意:我只想点击 .col2 来触发事件。
我收到太多递归错误,因为超链接的点击事件触发了 UL 上的点击事件
我试过 stopPropagation 但它似乎不起作用,有什么想法吗?
$('#ul_search').on('click', 'div.col2', MyClickHandler);
function MyClickHandler(e) {
e.stopPropagation();
var control = $(this);
control.find('a').click();
e.stopPropagation();
}
<ul id="ul_search">
<li>
<div class="col1">
Col1
</div>
<div class="col2">
Go to
<a href="http://www.google.com">Google</a>
by clicking here
</div>
</li>
<li>
<div class="col1">
Col1
</div>
<div class="col2">
Go to
<a href="http://www.yahoo.com">Yahoo</a>
by clicking here
</div>
</li>
</ul>
更新
请注意:具体来说,我想取消 UL 的 click 事件并触发 HYPERLINK 的 click 事件(因为我有其他页面处理程序来侦听超链接点击)而不会导致递归。
这甚至可能吗?