14

タイトルはかなり自明だと思います。

ユーザーがオーバーレイまたはリンクをクリックしたときに div を閉じたい。次のように2つの関数を書くことができることを私は知っています:

$("#close-search").click(function() {
    $("#branding #searchform").fadeOut("fast");
    $("#global-overlay").fadeOut("fast");
});

$("#global-overlay").click(function() {
    $(this).fadeOut("fast");
    $("#branding #searchform").fadeOut("fast");
});

または、次のように 1 つの関数を記述することもできます。

function closeSearch {
    $(this).fadeOut("fast");
    $("#branding #searchform").fadeOut("fast");
}

$("#close-search").click(function() {
    closeSearch();
});

$("#global-overlay").click(function() {
    closeSearch();
});

これを試しましたが、うまくいきませんでした。

$("#close-search", "#global-overlay").click(function() {
        $("#branding #searchform").fadeOut("fast");
        $("#global-overlay").fadeOut("fast");
    });

しかし、これを一行で書けるでしょうか?(のようなもの$("#close-search" OR #global-overlay")

4

3 に答える 3

32

カンマ区切りはこれまたはあれを意味します

$("#close-search, #global-overlay")

複数セレクター

于 2012-06-22T12:34:46.120 に答える
3

これを試して

$("#close-search, #global-overlay").click(function() {
      $("#branding #searchform").fadeOut("fast");
      $("#global-overlay").fadeOut("fast");
});
于 2012-06-22T12:35:15.083 に答える
0

未テスト:

これを試して:

$("#close-search, #global-overlay").click(function() {
        $("#branding #searchform").fadeOut("fast");
        $("#global-overlay").fadeOut("fast");
    });

セレクター内の文字列が配列のように分割されていないことに注意してください。代わりに、Sizzle セレクターがこれを行います。

于 2012-06-22T12:36:10.233 に答える