我正在使用 jQueryon
函数来绑定点击事件:
$('#page-container, .some-class').on('click', '.do-something', function(event) {
// #page-container or .some-class?
});
现在在回调函数内部,我想知道“点击”事件是否已从#page-container
or触发.some-class
。我$(this)
只得到已单击的选择器。
我正在使用 jQueryon
函数来绑定点击事件:
$('#page-container, .some-class').on('click', '.do-something', function(event) {
// #page-container or .some-class?
});
现在在回调函数内部,我想知道“点击”事件是否已从#page-container
or触发.some-class
。我$(this)
只得到已单击的选择器。
delagateTarget
对象的属性event
是指委托的目标:
$('#page-container, .some-class').on('click', '.do-something', function(event) {
var dt = event.delegateTarget;
});
尝试这样的事情
$('#page-container, .some-class').on('click', '.do-something', function(event) {
$(this).attr('id'); // #page-container
$(this).hasClass('.some-class'); //Will return true if it has some-class
});
你可以这样做:
$('#page-container, .some-class').on('click', '.do-something', function (event) {
if ($(this).closest('#page-container').length)
alert('Its #page-container');
else if ($(this).closest('.some-class').length)
alert('Its .some-class');
});
尝试
$('#page-container, .some-class').on('click', '.do-something', function(event) {
var isSomeClass = $(this).closest('.some-class').length > 0
});
演示:小提琴
工作演示
尝试这个
$('#page-container, .some-class').on('click', function(event) {
alert($(this).text());
});