【问题标题】:Click this OR that, then do something点击这个或那个,然后做某事
【发布时间】:2012-06-22 12:33:59
【问题描述】:

我想标题是不言自明的。

我想在用户单击叠加层或链接时关闭 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")

【问题讨论】:

    标签: jquery selector


    【解决方案1】:

    逗号分隔的意思是这个或那个

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

    多个selector

    【讨论】:

      【解决方案2】:

      试试这个

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

      【讨论】:

        【解决方案3】:

        未经测试:

        试试这个:

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

        请注意,选择器中的字符串并没有像数组那样拆分,而是 - Sizzle 选择器会为您执行此操作。

        【讨论】:

          猜你喜欢
          • 2013-08-15
          • 2021-08-29
          • 2023-03-23
          • 2016-05-18
          • 2017-09-08
          • 1970-01-01
          • 1970-01-01
          • 2021-11-13
          • 1970-01-01
          相关资源
          最近更新 更多