如何判断jquery点击发生在哪个元素上?

时间:2010-05-03 00:55:43

标签: javascript jquery

我正在使用jquery处理列表项的单击:

$("#some_list li").click(function(event) {
    // magic happens here
    }

列表项如下:

<li><input type='checkbox'>Some text<span class='info'>(?)</span></li>

我希望根据用户是否在(?)或列表中的任何其他位置单击而具有不同的行为。如何检测用户点击的元素?

2 个答案:

答案 0 :(得分:5)

this

$(this)

所有事件处理程序都在元素的上下文中运行,因此this将引用触发事件的元素的本机DOM对象。

但是,这并不完全回答您的问题 - this将是处理程序注册的元素。

要查找被点击的实际元素(可以是this的子元素),您应该写$(e.target)

答案 1 :(得分:0)

我写了一个简单的jquery代码来获取点击链接的数量。

var temp_str='';
$(document).ready(function(){
    $('a').click(function(e){e.preventDefault();});
    $(document).click(function(e){
        if($(e.target).data('count')==undefined)
        $(e.target).data('count',0);
            $(e.target).data('count',$(e.target).data('count')+1);

    $('a').each(function(i,item){if($(item).data('count')!=undefined)temp_str+=$(item).html()+" : "+$(item).data('count')+"<br>";});
    $('#helper').html(temp_str);
    temp_str='';
    });

    });