点击超链接不跳转,不刷新页面

时间:2021-10-19 17:16:11

    让a标签点击后不跳转可以设置成 
    1.<a href="javascript:void(0);" >javascript:void(0);</a> 
    2.<a href="javascript:;" >javascript:;</a> 
    3.<a href="" onclick="return false;">return false;</a>     这个会刷新页面
    4.<a href="#" onclick="return false;">return false;</a>   这个会刷新页面
    5.<a href="##" >##</a>    这个会刷新页面
    6.<a href="####" >####</a>      这个会刷新页面
    7.<a href="#all" >#all</a>  这个会刷新页面
    如果想点击超链接调用js方法的话可以设置成 
    1.<a href="javascript:void(0)" onclick="jsFun()">jsFun</a> 
    2.<a href="#" onclick="jsFun();return false;">jsFun();return false;</a>                
    3.<a href="#" onclick="alert(1);event.returnValue=false;">alert(1);event.returnValue=false;</a> 

    1.javascript:void(0)不建议使用 (但我平时还是用这个比较多。。。)

    2.链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还  是使用“####”。为防止点击链接后跳转到页首,onclick事件return false即可,<a>这个标签的执行顺序应该是先执行onclick 的脚本,最后才进行href参数指定页面的跳转。在onclick中返回false,就可以中止<a>标签的工作流程,也就是不让页面跳转到href参数指定的页面。 

 
    3.如果仅仅是想鼠标移过,变成手形,可以使用 
    <span style="cursor:pointer" onclick="jsFun()">手型!</span> 

4.阻止默认行为

在方法里一定要传参event,而且还要写完整!写e 或者不写,谷歌都可以,但是火狐,360,ie都不行,必须写完整!!!,但是IE还是不兼容,所以得这么写

function stopDefault(event) { 
   if ( event.preventDefault ){ 
   event.preventDefault();  //支持DOM标准的浏览器

   } else { 
    window.event.returnValue = false;  //IE

   } 

这么写,就可以兼容ie(7+,6不知道),谷歌,火狐,360 了

 event.isDefaultPrevented() 方法来检查指定的事件上是否调用了 preventDefault() 方法。

event.stopPropagation();//取消冒泡