我有一个LI元素,我添加了一个“Toggle”事件处理程序
$("#myUL li").toggle {}
在LI内部有一个锚(链接)元素:
<ul id ="myUL">
<li>Click anywhere to initiate toggle handler <a href="/">(Except here)</a></li>
</ul>
如果用户点击UL内部的链接,如果用户点击该链接旁边的UL内的任何地方,我怎么能告诉jQuery不要启动Toggle事件?
感谢
乔尔
答案 0 :(得分:2)
您需要停止锚定点击事件的传播:
$('#myUL > li > a').bind('click', function(e){
e.stopPropagation();
});
请参阅此操作:http://www.jsfiddle.net/YjC6y/6/
另一种方法是检查处理程序中的event target
:
$('#myUL li').toggle(function(e){
if(e.target.tagName !== 'A'){
// do something
}
}, function(e){
});