为一个事件分配多个类(Assigning more than one class for one e

2019-07-29 08:05发布

我有我想要分配到比类的更多的单击事件。 这样做的原因是,我使用的是在我的应用程序不同的地方该事件,并单击按钮在不同的地方不同的造型。

我想要的是像$('标签” .tag2' ),这当然不工作。

    $('.tag').click(function (){
        if ($(this).hasClass('clickedTag')){
            // code here
        }

        else {
             // and here
        }
    });

Answer 1:

方法#1

function doSomething(){
    if ($(this).hasClass('clickedTag')){
        // code here
    }
    else {
         // and here
    }
}

$('.tag1').click(doSomething);
$('.tag2').click(doSomething);

// or, simplifying further
$(".tag1, .tag2").click(doSomething);

方法2

这也将工作:

​$(".tag1, .tag2").click(function(){
   alert("clicked");    
});​

小提琴

我更喜欢一个单独的函数(方法#1)如果有一个机会,逻辑将被重新使用。

另见我如何选择与多个类的元素? 对同一项目处理多类。



Answer 2:

您可以一次使用jQuery像这样选择多个类:

$('.tag, .tag2').click(function() {
    var $this = $(this);
    if ($this.hasClass('tag')) {
        // do stuff
    } else {
        // do other stuff
    }
});

给予2个参数的$()函数,范围选择这样$('.tag', '.tag2')查找tag与类元素中tag2



Answer 3:

就像这样:

$('.tag.clickedTag').click(function (){ 
 // this will catch with two classes
}

$('.tag.clickedTag.otherclass').click(function (){ 
 // this will catch with three classes
}

$('.tag:not(.clickedTag)').click(function (){ 
 // this will catch tag without clickedTag
}


Answer 4:

    $('.tag1, .tag2').on('click', function() {

      if ($(this).hasClass('clickedTag')){
         // code here
      } else {
         // and here
      }

   });

要么

function dothing() {
   if ($(this).hasClass('clickedTag')){
        // code here
    } else {
        // and here
   }
}

$('.tag1, .tag2').on('click', dothing);

要么

 $('[class^=tag]').on('click', dothing);


Answer 5:

你有没有试过这样:

 function doSomething() {
     if ($(this).hasClass('clickedTag')){
         // code here
     } else {
         // and here
     }
 }

 $('.tag1, .tag2').click(doSomething);


Answer 6:

    $('[class*="tag"]').live('click', function() {
      if ($(this).hasClass('clickedTag')){
         // code here
      } else {
         // and here
      }
   });


文章来源: Assigning more than one class for one event