我正在使用jQuery on
函数绑定click事件:
$('#page-container, .some-class').on('click', '.do-something', function(event) {
// #page-container or .some-class?
});
现在在回调函数内部,我想知道是否已从#page-container
或.some-class
触发'click'事件。使用$(this)
我只获得已被点击的选择器。
答案 0 :(得分:8)
delagateTarget
对象的 event
属性指的是委派目标:
$('#page-container, .some-class').on('click', '.do-something', function(event) {
var dt = event.delegateTarget;
});
答案 1 :(得分:3)
尝试这样的事情
$('#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
});
答案 2 :(得分:2)
您可以这样做:
$('#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');
});
答案 3 :(得分:0)
尝试
$('#page-container, .some-class').on('click', '.do-something', function(event) {
var isSomeClass = $(this).closest('.some-class').length > 0
});
演示:Fiddle
答案 4 :(得分:0)
正在使用 DEMO
试试这个
$('#page-container, .some-class').on('click', function(event) {
alert($(this).text());
});