如何选择哪个'点击'事件已被束缚?

时间:2013-09-04 10:39:28

标签: jquery

我正在使用jQuery on函数绑定click事件:

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

现在在回调函数内部,我想知道是否已从#page-container.some-class触发'click'事件。使用$(this)我只获得已被点击的选择器。

5 个答案:

答案 0 :(得分:8)

delagateTarget对象的

event属性指的是委派目标:

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

http://jsfiddle.net/SmXCG/

答案 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());
});