禁止a标签点击跳转
<a href="http://baidu.com" onclick="return false">点我啊</a>
原理是当点击a标签时首先触发onclick函数,然后才执行href的跳转。但是在执行到return false的时候直接终止了执行,也就没有了链接的跳转。
目前疑问是 return false 和 return true 以及 return 的作用都是结束当前函数的执行并分别返回 false,true,undefined。但是如果把 a 标签 onclick 函数换成 return 或 return true 后还是会执行页面跳转的。
因此,初步推断当执行完 onclick 事件后会根据返回值进行下一步操作,比如如果是false就终止当前事件的继续执行。
当然还可以通过这样设置 href="javascript:void(0);"来防止超链接跳转。
阻止默认事件以及事件冒泡
禁止事件传输过程中的冒泡,IE和其它浏览器的方式不同
var evt = evt || window.event; // 获取event对象
if(evt.preventDefault){
evt.preventDefault(); // 非IE浏览器
}else{
evt.returnValue = false;// 在早期的IE版本中
}
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true); // 阻止事件冒泡