单击时选择最低嵌套选择器



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

<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>

我的脚本很简单:

$('.sub-menu, #root').on('click', function(event){
    alert($(this).text())
});
$('.sub-menu, #root').on('click', function(event){
    alert($(event.target).text());
    return false; // I stop the bubble
});

你想要event.target 阅读更多

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

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

而不是$(this).text()

试试这个演示**http://jsfiddle.net/H5Eq7/

原料药 - .stopPropagation http://api.jquery.com/event.stopPropagation/

停止传播

防止事件在 DOM 树中冒泡,防止任何 父处理程序不会收到事件通知。

这应该符合原因:)

法典

$(document).ready(function() {
    $('.sub-menu, #root').on('click', function(event) {
        event.stopPropagation();
        alert($(this).text())
    });
});​

最新更新