我有以下 HTML ...
<div id="panel">
<a class="ext" href="http://google.com">Google</a>
</div>
如果我有一个 $(#panel).on({ click: function(e) {...} 事件将扩展 div 高度或折叠它,如果我点击它如何告诉点击事件“不触发”在 .ext 类项目上,以便我可以访问 google.com。
感谢您的任何建议
我有以下 HTML ...
<div id="panel">
<a class="ext" href="http://google.com">Google</a>
</div>
如果我有一个 $(#panel).on({ click: function(e) {...} 事件将扩展 div 高度或折叠它,如果我点击它如何告诉点击事件“不触发”在 .ext 类项目上,以便我可以访问 google.com。
感谢您的任何建议
添加这个:
$('.ext').click(function(e) {
e.stopPropagation();
});
这将防止事件冒泡到#panel
元素。
另一种方法是简单地测试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
}
});
参考: