我想单击$('.sub-menu')选择器并返回被单击的最低嵌套项,而不是最高项。例如,当我点击"enlish“时,返回"root”,因为"english“是"root”的子项。当我选择"english“时,我希望返回"english”。
<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())
});发布于 2012-10-16 06:56:52
$('.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/
发布于 2012-10-16 06:56:44
啊,答案是使用$(event.target).text()
代替$(this).text()
发布于 2012-10-16 06:59:13
尝试此演示** http://jsfiddle.net/H5Eq7/
API - .stopPropagation http://api.jquery.com/event.stopPropagation/
stopPropagation
防止事件在DOM树上冒泡,从而防止任何父处理程序收到事件通知。
这应该符合原因:)
代码
$(document).ready(function() {
$('.sub-menu, #root').on('click', function(event) {
event.stopPropagation();
alert($(this).text())
});
});https://stackoverflow.com/questions/12905147
复制相似问题