我有一个全局点击事件处理程序,它侦听传递给它的某些项目。代码具有以下格式:
$(document).on('click', '#id, .my-class, .my-other-class', function(e) {
if ($(this).is($(this)[0])) {
return true;
}
}
然而,这不会仅返回第一个对象(#id
),而是返回任何选择器('#id, .my-class, .my-other-class'
)。
我理解这可能是因为$(this)
中只有一个项目(0 - 包含所有选择器)。
如果我这样做,我可以让代码工作:
$(document).on('click', '#id, .my-class, .my-other-class', function(e) {
if ($(this).is('#id') {
return true;
}
}
但是我不想再输入整个选择器(叫我懒惰),特别是如果我必须输入.my-other-class
(我永远不会有一个有这么大的名字的类但这是一个原则问题。)
因此,我试图使用.split(', ')
,但var $this = this.split(', ');
和var $this = $(this).split(', ');
上的错误表明它们不是函数。
是否有人知道如何获取它以便我可以输入if ($(this).is($(this)[0]) {}
或类似的东西,它会起作用?或者这是不可能的......