仅滑动单击父项时切换

Only slideToggle when parent is clicked

本文关键字:单击      更新时间:2023-09-26

我在JavaScript中的slideSwitchgle遇到了一些问题。我有一个名为 .reveal 的类,当我单击它时,我希望出现类窗口。但是,我只希望 slideToggle 在我单击父类 .reveal 时起作用,而不是在我单击类内时起作用。窗。。如果我的 .窗口类 fx。当我单击它时,滑块切换会启动:

<div class="reveal">
Reveal
   <div class="Window">
       <input type="button" id="Create" value="CLICK" />
   </div>
</div>
$(function () {
   $('.reveal').click(function() {
       $(this).children('.Window').slideToggle();
   });
});

如何使幻灯片切换仅在单击父类时起作用?

使用您当前的 html 结构,这就是它应该发生的方式,单击.Window将冒泡到 .reveal 的点击事件,因为它是父级,因此您需要通过订阅.Window上的点击事件来stopPropagation(),或者在现有的点击事件中单独检查意图目标, 从而避免另一个事件注册表。相反,请尝试以下操作:

$(function () {
   $('.reveal').click(function(e) {
       if(e.target == this) //check if target is .reveal only if so trigger else ignore.
         $(this).children('.Window').slideToggle();
   });
});

小提琴