0

私は使っている :

$(".header.nav.nav-user").click(function(){});

しかし、css を " .header .nav .disable .nav-user" に変更すると、クリック イベントをトリガーしたくありません。

ただし、この状況で$(".header.nav.nav-user")は、css が に変更されたときにもトリガーされ".header .nav .disable .nav-user"ます。

この状況を除外するにはどうすればよいですか?

私は次のように試しました:

$(".header.nav.nav-user :not(.disable)")

$(".header.nav.nav-user").not(".disable"),

しかし、どちらの場合も、目的の結果を得ることができませんでした。

これを行う方法を教えてください。

あなたの助けに感謝します!ありがとう。

更新:状況は時々あります:(クリックイベントをトリガーしたい)

<div class="header">
  <div class="nav">
      <dt class="nav-user">
       </dt>
   </div>
</div>

そして時には:(クリックイベントをトリガーしたくない)

 <div class="header">
  <div class="nav">
   <dl class="disable">
      <dt class="nav-user">
       </dt>
    </dl>
   </div>
</div>

変更は、そのコードを変更するのではなく、他のJavaScriptを使用することです。

4

3 に答える 3

0

これを試して

$(".header.nav.nav-user").not(":disable")
于 2013-08-26T10:04:43.397 に答える
0

@おい、あなたはここで正しいです:

$(".header.nav.nav-user :not(.disable)")

ただし、nav-user と :not の間にスペースを入れてはいけません。

$(".header.nav.nav-user:not(.disable)")

フィドル

于 2013-08-26T10:19:27.727 に答える
0

disable のクラスを追加するときは、disabled 属性を追加する必要があります。

例えば:

$('.btn').click(function () {
    alert('clicked');
    $('.btn').addClass('disable');
    $('.disable').attr('disabled', 'disabled');
});

これにより、「disable」クラスとのリンクが無効になります

于 2013-08-26T10:10:52.280 に答える