单击父级时仅滑动切换

时间:2013-09-30 23:44:41

标签: javascript jquery slidetoggle

我在JavaScript中使用slideToggle时遇到了一些问题。 我有一个名为.reveal的类,当我点击它时,我想要出现类Window。但是,我只希望slideToggle在我点击父类.reveal时工作,而不是当我在类中单击时.Window ..如果我在.Window类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();
   });
});

如何在单击父类时使slideToggle无效?

1 个答案:

答案 0 :(得分:3)

使用您当前的html结构,就是它应该如何发生,点击.Window会冒出.reveal点击事件,因为它是父项,所以你需要stopPropagation() 1}}通过订阅.Window上的点击事件或在现有点击事件中单独检查目标目标,从而避免另一个事件注册表。相反,试试这个:

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

<强> Fiddle