Javascript jQuery onClick-in<;部门>;,忽略<;a>;其中的元素
我有一个非常基本的HTML布局如下Javascript jQuery onClick-in<;部门>;,忽略<;a>;其中的元素,javascript,jquery,html,Javascript,Jquery,Html,我有一个非常基本的HTML布局如下 <div class="module"> <div class="module-header"> <h2>Heading</h2> <a title="a" href="/" class="btn">Link</a> </div> <div class="module-
<div class="module">
<div class="module-header">
<h2>Heading</h2>
<a title="a" href="/" class="btn">Link</a>
</div>
<div class="module-body">
<p>Boy content here.</p>
</div>
</div>
我遇到的问题是,当用户单击模块标题中的链接时,切换动画会在链接触发之前运行一小部分秒。是否有一个选择器或其他方法可供我使用,以便在用户单击链接时不会触发onClick事件?根据上一段,我认为您的标题中有一个链接,您希望允许用户单击该链接,而不必使用
模块标题
的单击处理,从而导致模块主体
切换
要实现这一点,您需要在
检查可能重复的位置截获事件--在几分钟内,这已经是关于此问题的第二个问题。如果OP因为.module header
尚不存在而使用偶数委派,则此操作将不起作用。但没有足够的信息来决定这一点。我想您可以随时检查事件.target
。由于事件委派的性质,我没想到它会起作用。但显然jQuery会处理它。我不喜欢,因为它隐藏了真正发生的事情,但这不是你的错;)
$('body').on("click", '.module-header', function(event) {
$('.module-body', $(this).parent()).slideToggle(300);
});
$('body').on("click", '.module-header a', function (event) {
event.stopPropagation();
return true;
});