首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何判断jquery点击了哪个元素?

如何判断jquery点击了哪个元素?
EN

Stack Overflow用户
提问于 2010-05-03 08:55:43
回答 2查看 563关注 0票数 1

我正在用jquery处理一个列表项的点击:

代码语言:javascript
代码运行次数:0
运行
复制
$("#some_list li").click(function(event) {
    // magic happens here
    }

列表项如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
<li><input type='checkbox'>Some text<span class='info'>(?)</span></li>

我想要有不同的行为,这取决于用户是在(?)内单击,还是在列表中的其他任何地方单击。我如何检测用户点击了哪个元素?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-03 08:57:03

this一样

代码语言:javascript
代码运行次数:0
运行
复制
$(this)

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

但是,这并没有确切地回答您的问题- this将是处理程序注册的元素。

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

票数 5
EN

Stack Overflow用户

发布于 2010-05-04 12:24:53

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

代码语言:javascript
代码运行次数:0
运行
复制
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='';
    });

    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2755668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档