OR运行功能的条件

时间:2015-09-27 11:35:27

标签: javascript jquery

我有按钮(" .moreAlertsBtn"),当用户点击它时运行功能 如果用户点击另一个包含id"#alertsBtn"

的按钮,我想运行相同的功能

如何添加OR条件?

$(document).on('click','.moreAlertsBtn',function() { }

另外 - 在函数内部,如果用户点击第一个按钮,我可以添加contision吗?如果他点击第二个按钮,我可以添加另一个吗?

3 个答案:

答案 0 :(得分:2)

只需使用comma(,)将它们分开:

$(document).on('click','.moreAlertsBtn, #alertsBtn',function() { });
  

如果用户点击第一个按钮而另一个是if,我可以添加条件吗?   他点击第二个?

$(document)
  .on('click','.moreAlertsBtn, #alertsBtn',function() {
    if($(this).hasClass('moreAlertsBtn')) {
      //.moreAlertsBtn clicked

    } else {
       //#alertsBtn clicked
    }
 });

答案 1 :(得分:1)

  

如何添加OR条件?

您可以使用逗号,它在CSS中是"或" (但请继续阅读):

$(document).on('click','.moreAlertsBtn, #alertsBtn',function() { });

<强>但是

  

另外 - 在函数内部,如果用户点击第一个按钮,我可以添加contision吗?如果他点击第二个按钮,我可以添加另一个吗?

如果您打算这样做,那么使用单独的处理程序会更有意义:

$(document).on('click','.moreAlertsBtn',function() { });
$(document).on('click','#alertsBtn',function() { });

但回答这个问题,是的,你可以这样说:

if (this.id === "alertsBtn") {
    // It's #alertsBtn
} else {
    // Must be .moreAlertsBtn
}

E.g:

$(document).on('click','.moreAlertsBtn, #alertsBtn',function() {
    if (this.id === "alertsBtn") {
        // It's #alertsBtn
    } else {
        // Must be .moreAlertsBtn
    }
});

这是有效的,因为jQuery将使用this调用您的处理程序,引用您已经连接的DOM元素&#34;事件发生(即使你实际上正在进行授权,就像你在你的例子中一样)。

答案 2 :(得分:1)

您可以在选择器之间使用逗号,如下所示:

$(document).on('click','.moreAlertsBtn,#alertsBtn',function() { }