0

私が必要なものを説明させてください。jqueryで開くナビゲーションがあります。そして、サイト内のどこかをクリックすると閉じたいと思います。

ここでこれを見つけましたが、この場合、クリックするたびにナビゲーションが閉じます: jQuery click() event catch-all?

使用して

$(document).click(function() {
  $("#boxID").hide();
});

しかし、ナビゲーション内をクリックするid="boxnewsID"と、ナビゲーション id="navID"自体も閉じます。どうすればこれを防ぐことができますか?

IDまたはsthを取得しようとすると。これをクリックすると、ドキュメント (ロジック) が返されるだけです。Facebookのヘッダーナビゲーション(メッセージ、アクティビティ、フレンドリクエスト)が必要な方法で機能することを確認しました。

何か案が?

4

2 に答える 2

0

私はこれがそれを行うべきだと思います:

$(document).on("click", ":not(#boxID)", function() {
    $("#boxID").hide();
}

編集:

それもうまくいきません。これが私のページにあるものです:

$(document).mousedown(function(e) {
    if ($(e.target).closest("#boxID").length == 0) {
        $("#boxID").hide();
    }
});
于 2012-11-07T07:46:51.610 に答える
0

1 つ以上の要素を除外するには、これを使用できます。

$(document).not("#boxID").click(function() { $("#boxID").hide(); });

これにより、ID #boxID を持つ要素が選択から除外されます。

于 2012-11-07T07:23:41.370 に答える