如何停止点击事件的传播,以便brwoser不会重定向?
<a id="theHref" href="http://stackoverflow.com/">SO</a>
<script>
document.getElementById("theHref").addEventListener("mousedown", function(event) {
console.log("href clicked, lets try to stop event propagation");
event.stopPropagation();
event.preventDefault();
return false;
});
</script>
答案 0 :(得分:4)
首先,你想听&#34;点击&#34;事件,而不是mousedown
document.getElementById("theHref").addEventListener("click", function(event) {
console.log("href clicked, lets try to stop event propagation");
event.preventDefault();
return false;
});
不确定你需要返回false - 我永远不会记得跨浏览器的细微差别:p return false不会停止Firefox,例如
答案 1 :(得分:0)
尝试使用return false,这是一种不会让你重定向的简单方法
<script>
$(function(){
$("#theHref").click(function(){
return false;
});
});
</script>
请参阅此小提琴Fiddle
答案 2 :(得分:0)
这应该有效:
document.getElementById("theHref").addEventListener("click", function(event) {
console.log("href clicked, lets try to stop event propagation");
event.preventDefault();
});