Javascript Jquery获取不带父项的列表值
我现在有一段代码,它创建了一个带有该列表项值的Alert()。 现在,当我单击另一个列表项作为父项的列表项时。它会提醒他们两个Javascript Jquery获取不带父项的列表值,javascript,jquery,list,parent,Javascript,Jquery,List,Parent,我现在有一段代码,它创建了一个带有该列表项值的Alert()。 现在,当我单击另一个列表项作为父项的列表项时。它会提醒他们两个 $("#nav li").click(function() { $LiValue = this.value; alert($LiValue); }); 例如。这是HTML <li value="1">Home</li> <li value="2">Information <ul class="sub
$("#nav li").click(function() {
$LiValue = this.value;
alert($LiValue);
});
例如。这是HTML
<li value="1">Home</li>
<li value="2">Information
<ul class="subs">
<li value="3">History</li>
<li value="4">Present</li>
<li value="5">Future</li>
</ul>
</li>
主页
- 历史
- 目前
- 未来
谢谢大家帮助我。我会尽快接受答案。谢谢大家! JavaScript中的事件自然会在DOM树上冒泡,从子元素到它们的祖先。您可以通过以下方式停止此行为
JavaScript中的事件自然会在DOM树上冒泡,从子元素到它们的祖先。您可以通过以下方式停止此行为 或者尝试添加
返回false
说明:区别在于返回false代码>更进一步,因为它还防止事件传播(或“冒泡”)DOM。您可能不知道这一点的原因是,每当元素上发生事件时,该事件也会在每个父元素上触发。
换句话说:
function() {
return false;
}
//等于
function(e) {
e.preventDefault();
e.stopPropagation();
}
请参阅此以了解进一步的解释
或者尝试添加返回false
说明:区别在于返回false代码>更进一步,因为它还防止事件传播(或“冒泡”)DOM。您可能不知道这一点的原因是,每当元素上发生事件时,该事件也会在每个父元素上触发。
换句话说:
function() {
return false;
}
//等于
function(e) {
e.preventDefault();
e.stopPropagation();
}
有关进一步的解释,请参见此问题的解决方法是stopPropagation()。此函数告诉您“防止事件在DOM树中冒泡,防止任何父处理程序收到事件通知。”
基本上,不会为任何父元素触发事件。要使用此方法,请处理click函数提供的第一个参数。然后调用函数内部的方法。您的方法应该如下所示
$("#nav li").click(function(e) {
e.stopPropagation()
$LiValue = this.value;
alert($LiValue);
});
解决问题的方法是stopPropagation()。告诉您,此函数“防止事件在DOM树中冒泡,防止任何父处理程序收到事件通知。”
基本上,不会为任何父元素触发事件。要使用此方法,请处理click函数提供的第一个参数。然后调用函数内部的方法。您的方法应该如下所示
$("#nav li").click(function(e) {
e.stopPropagation()
$LiValue = this.value;
alert($LiValue);
});
还包括一篇关于这方面以及其他有用的文章。还包括一篇关于这方面以及其他有用的文章。呵呵,你的回答太好了。。。这不是我的专业,所以我不知道这是否是一个好的解决方案。稍微解释一下为什么你的建议会奏效,这将大大有助于解决这个问题。别忘了,很多新手总是来Stack Overflow,我们可以从你那里学到一些东西。对你来说可能是显而易见的,但对这个领域的新手来说往往不是如此;)@塔林·伊斯特,我也是,谢谢你的建议,回答编辑。我会尝试在我的答案上添加更多的解释,而不是继续快速地渴望得到一些分数。哈哈,谢谢你,你的回答太好了。。。这不是我的专业,所以我不知道这是否是一个好的解决方案。稍微解释一下为什么你的建议会奏效,这将大大有助于解决这个问题。别忘了,很多新手总是来Stack Overflow,我们可以从你那里学到一些东西。对你来说可能是显而易见的,但对这个领域的新手来说往往不是如此;)@塔林·伊斯特,我也是,谢谢你的建议,回答编辑。我将尝试在我的答案上添加更多的解释,而不是继续快速地渴望得到一些分数。哈哈,谢谢