6

我正在使用 jQueryon函数来绑定点击事件:

$('#page-container, .some-class').on('click', '.do-something', function(event) {
    // #page-container or .some-class?
});

现在在回调函数内部,我想知道“点击”事件是否已从#page-containeror触发.some-class。我$(this)只得到已单击的选择器。

4

5 回答 5

9

delagateTarget对象的属性event是指委托的目标:

$('#page-container, .some-class').on('click', '.do-something', function(event) {
    var dt = event.delegateTarget;
});

http://jsfiddle.net/SmXCG/

于 2013-09-04T10:51:15.987 回答
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
    });
于 2013-09-04T10:43:00.350 回答
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');
});
于 2013-09-04T10:46:27.930 回答
0

尝试

$('#page-container, .some-class').on('click', '.do-something', function(event) {
    var isSomeClass = $(this).closest('.some-class').length > 0
});

演示:小提琴

于 2013-09-04T10:44:12.037 回答
0

工作演示

尝试这个

$('#page-container, .some-class').on('click', function(event) {
alert($(this).text());
});
于 2013-09-04T10:47:05.523 回答