在示例展示如何通过JavaScript阻止链接跳转之前,我们先来了解下JS中的preventDefault:
preventDefault方法的起什么作用呢?比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生,并且可自定义其发生其他的事情。看一段代码大家就明白了:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS阻止链接跳转</title> <script type="text/javascript"> function stopDefault( e ) { if ( e && e.preventDefault ) e.preventDefault(); else window.event.returnValue = false; return false; } </script> </head> <body> <a href="http://www.baidu.com" id="testLink">百度</a> <script type="text/javascript"> var test = document.getElementById("testLink"); test.onclick = function(e) { alert("我的链接地址是:" + this.href + ", 但是我不会跳转。"); stopDefault(e); } </script> </body> </html>此时点击百度链接,不会打开http://www.baidu.com,而只是弹出一个alert对话框。