Javascript jquery中的e.stopPropagation()对锚标记有效吗
我想要阻止我试图使用的锚标记中的元素的eventpropogation();这似乎不起作用,是可能的还是我只是在浪费时间请帮我离开这里 javascript是:Javascript jquery中的e.stopPropagation()对锚标记有效吗,javascript,jquery,Javascript,Jquery,我想要阻止我试图使用的锚标记中的元素的eventpropogation();这似乎不起作用,是可能的还是我只是在浪费时间请帮我离开这里 javascript是: $(document).ready(function(){ $('.alink .p').click(function(e){ alert("hi"); e.stopPropagation(); }); html是: <div> <a href="http://google.com
$(document).ready(function(){
$('.alink .p').click(function(e){
alert("hi");
e.stopPropagation();
});
html是:
<div>
<a href="http://google.com" class="alink" >Google links
<p class="p">Another Links to prevent default</p>
</a>
</div>
感谢您宝贵的时间描述
它不会阻止任何默认行为(如链接点击),除了这个方法之外,您可能还想考虑使用。
event.stopPropagation()
仅用于事件处理程序,而不是默认行为
event.preventDefault()
如果调用此方法,则不会触发事件的默认操作
您的脚本及其文档
中有一些拼写错误,而不是文档
看看样品和这个
样品
更多信息
event.stopPropagation()
停止将事件传递给DOM结构中距离元素更远的处理程序,该元素最初触发了事件。不过,它不会阻止已经触发的操作
您应该使用event.preventDefault()
停止上述默认操作
来源:
$(document).ready(function(){
$('.alink .p').click(function(e){
e.preventDefault();
e.stopImmediatePropagation();
alert("hi");
return false;
});
});
您应该使用-
e.preventDefault()
停止默认行为。stopPropagation用于停止事件冒泡。您没有在此处包含括号,是吗
$('document').ready(function(){
$('.alink .p').click(function(e){
alert("hi");
e.stopPropagation();
});
修复括号,然后改用e.preventDefault()。它是
文档
,而不是“文档”
,您有语法错误(缺少)如果您想阻止链接将您带到某个页面,请使用e.preventDefault()
通常,返回false不是一个好主意代码>当您只想阻止默认操作时;它将干扰其他事件处理程序。此外,您只能在函数末尾使用它,因此如果出现任何javascript错误,浏览器仍将跟随该链接,这可能是不需要的。正如Esailija所说,e.preventDefault()
是更好的解决方案。在处理某个问题以获得另一个问题的答案时遇到了相同的问题。这种方式是有意义的,但只有在事件到达
之前触发“跟随链接”操作时才有意义。如果对
的子元素调用.stopPropagation()
,则我希望该操作永远不会被触发,因为click
事件永远不会到达锚。@AnthonyGrist,您是否找到了解决方案?试着做和你完全一样的事情。
$('document').ready(function(){
$('.alink .p').click(function(e){
alert("hi");
e.stopPropagation();
});