我想单击$('.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())
});
});