5

使用多个选择器处理事件时,例如:

$('.item a, .another-item a').click(function(e) {

});

是否可以确定哪个父选择器触发了该事件?是吗.item.another-item

谢谢!

4

5 回答 5

8

由于选择器几乎可以是任何东西,因此您必须检查特定的,例如:

if($(this).is('.item a')){
  //your code here
} else if ($(this).is('.another-item a')){
  //more here
}
于 2012-10-17T19:23:06.077 回答
4

您可以使用 jQuery is

if($(this).is('.item a')){
      // code
   }
   else if($(this).is('.another-item a')){//remove 'if ' in case there are only two selector separated by commas.
        //code..

   }
于 2012-10-17T19:25:09.507 回答
3

试试这个

$(this).closest('.item').length > 0
于 2012-10-17T19:25:18.193 回答
1

您可以检查:

var isItem = $( this ).parents( '.item:first' ).length > 0,
    isAnotherItem = $( this ).parents( '.another-item:first' ).length > 0;
于 2012-10-17T19:24:52.423 回答
1

如果.item.another-item属于2个不同的节点..那么你可以尝试如下,

$('.item a, .another-item a').click(function(e) {
    if ($(this).closest('.item').length) {  //if it is '.item'

    } else {

    }
});
于 2012-10-17T19:26:04.883 回答