14

我想标题是不言自明的。

当用户单击覆盖或链接时,我想关闭 div。我知道你可以像这样写两个函数:

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

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

或者您可以编写一个函数,如下所示:

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 回答