第一种: <a href = " javascript: void ( 0 ); ">百度</a> 或者<a href = " javascript:; ">百度</a>
测试:(可行)
<a href="javascript:void(0);" οnclick="myjs()">百度</a><a href="javascript:;" οnclick="myjs()">百度1</a><script type="text/javascript">function myjs(){alert("a标签默认事件被阻止,执行js函数");}</script>
第二种:<a href = " # ">百度</a> (最常见的,但是点击后页面会返回到顶部,不可用);所以又有了<a href = " ## ">百度</a>或者<a href = " #! ">百度</a>
测试:
<div id="test" style="width: 1000px; height: 1300px; background: rgb(56,132,63)"></div><a href="#" οnclick="myjs()">百度</a> <!--不可行(执行js函数后页面会返回到顶部)--><a href="##" οnclick="myjs()">百度1</a> <!--测试未发现问题--><a href="#!" οnclick="myjs()">百度2</a> <!--测试未发现问题--><script type="text/javascript">function myjs(){alert("a标签默认事件被阻止,执行js函数");}</script>
第三种: e.preventDefault();阻止默认事件(不支持IE),IE中用window.event.returnValue = false; 阻止默认事件
测试:(可兼容IE)
<a id="test" href="">百度</a><script type="text/javascript">//声明并获取elementvar test = document.getElementById("test");//阻止默认事件函数function stopDefault(e) {if (e && e.preventDefault)e.preventDefault();elsewindow.event.returnValue = false; //兼容IE}//自定义函数function myjs(){alert("阻止默认事件,执行自定义函数");}//element点击阻止默认事件并执行自定义函数test.onclick = function(e){stopDefault(e);myjs();}</script>