-1

我尝试创建一个按钮,该按钮以单击事件打开。我在名为按钮的容器 div 内创建了一个 div 菜单。当我单击按钮类时,我尝试激活按钮。但是,我想在单击事件中排除菜单 div 的表面。

        $('.button').click(function (e) {
            if (++clickCount % 2 == 0 && !$(e.target).hasClass('menu')) {
                $('.button').animate({right:-x}, t);
            } else {
                $('.button').animate({right:x}, t);
            }

        });

在菜单 div 里面我有 4 个 div 项目。当我单击菜单区域内部但在这 4 个 div 之外的动画停止时。但是,当我在菜单内的这些项目内单击时,动画会激活。如何排除菜单 div 的整个表面?

4

1 回答 1

5

hasClass接受类名作为参数,但代码在类名参数前面加上前缀,.就好像它是一个选择器一样。

改变:

!$(e.target).hasClass('.menu')

至:

!$(e.target).hasClass('menu')
于 2013-10-31T09:10:42.957 回答