-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 に答える