首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击时选择最底层的嵌套选择器

单击时选择最底层的嵌套选择器
EN

Stack Overflow用户
提问于 2012-10-16 06:54:17
回答 3查看 106关注 0票数 0

我想单击$('.sub-menu')选择器并返回被单击的最低嵌套项,而不是最高项。例如,当我点击"enlish“时,返回"root”,因为"english“是"root”的子项。当我选择"english“时,我希望返回"english”。

代码语言:javascript
复制
<div ID="browse_container">
    <div class="sub-menu">Root
        <div class="sub-menu">English</div>
        <div class="sub-menu">Maths
            <div class="sub-menu">Year 1</div>
            <div class="sub-menu">Year 2</div>
        </div>
        <div class="sub-menu">▷ Science</div>
    </div>
</div>

我的脚本很简单:

代码语言:javascript
复制
$('.sub-menu, #root').on('click', function(event){
    alert($(this).text())
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-16 06:56:52

代码语言:javascript
复制
$('.sub-menu, #root').on('click', function(event){
    alert($(event.target).text());
    return false; // I stop the bubble
});

您想要event.target read more

请参阅此处的示例http://jsfiddle.net/qeVXa/

票数 3
EN

Stack Overflow用户

发布于 2012-10-16 06:56:44

啊,答案是使用$(event.target).text()

代替$(this).text()

票数 2
EN

Stack Overflow用户

发布于 2012-10-16 06:59:13

尝试此演示** http://jsfiddle.net/H5Eq7/

API - .stopPropagation http://api.jquery.com/event.stopPropagation/

stopPropagation

防止事件在DOM树上冒泡,从而防止任何父处理程序收到事件通知。

这应该符合原因:)

代码

代码语言:javascript
复制
$(document).ready(function() {
    $('.sub-menu, #root').on('click', function(event) {
        event.stopPropagation();
        alert($(this).text())
    });

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

https://stackoverflow.com/questions/12905147

复制
相关文章

相似问题

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