我有以下HTML ...
<div id="panel">
<a class="ext" href="http://google.com">Google</a>
</div>
如果我有$(#panel).on({click:function(e){...}事件将扩展div高度或折叠它,它如何告诉click事件“not fire”如果我点击.ext类项目,那么我可以去google.com。
感谢您的任何建议
答案 0 :(得分:8)
添加:
$('.ext').click(function(e) {
e.stopPropagation();
});
这样可以防止事件冒泡到#panel
元素。
答案 1 :(得分:3)
另一种方法是简单地测试click
事件的目标:
$('#panel').on({
click: function(e) {
var target = e.target,
$target = $(target);
if ($target.hasClass('ext')) {
window.location = target.href;
}
else if {
// do whatever you'd normally do for a click on #panel
}
});
参考文献: