400-650-7353
您所在的位置:首页 > IT干货资料 > web前端 > 【Web前端基础知识】阻止a标签的跳转

【Web前端基础知识】阻止a标签的跳转

  • 发布: Web前端培训
  • 来源:
  • 2021-07-26 15:25:18
  • 阅读()
  • 分享
  • 手机端入口

在我们平时写练习的过程当中,经常会用到a标签来进行链接跳转。在很多情况下,我们不需要让A标签跳转到另外一个链接。我们会选择给我们会选择给a标签的href属性内容设置为#,成为一个锚点连接。

即设置为:

  1. <a href="#">这是一个链接</a> 

但这时候我们也存在着一个问题,即如果页面过长有滚动条,且希望通过链接的 onclick事件执行操作,点击时就会跳转到页面的顶部,但很多页面不需要这样的效果,那今天我们就来给大家分享一下,如何阻止a标签的跳转。

第一种方法:

将它的 href属性设为 javascript:void(0); ,而不要是 #,这可以防止不必要的页面跳动;

即设置为:

  1. <a href="javascript: void(0)">这是一个链接</a> 

第二种方法:

将它的 href属性设为 javascript:; ,js内容不写任何内容,即设置为:

  1. <a href="javascript:;">这是一个链接</a>   

【Web前端基础知识】阻止a标签的跳转

第三种方法:

假设链接中同时存在href与onclick,如果想让href属性下的动作不执行,onclick必须得到一个false的返值;所以我们可以使用在进行点击时return false这种方式,即:

  1. <a href = "https://www.baidu.com"    
  2.    onclick = "alert( '阻止成功' ); return false "    
  3. >这是一个链接</a>   

但是这种方式html和js结构不分离,结构不够明确,所以我们可以使用下一种方法。

第四种方法:

  1. <a href="https://www.baidu.com" >这是一个链接</a>   
  2. <script>   
  3. var link = document.getElementsByTagName("a") [0];   
  4. link.onclick = function () {   
  5.     alert ( '默认跳转阻止成功啦!' );   
  6.     return false;   
  7. }   
  8. </script>  

说明:这里我们绑定了一个点击事件,点击超链接以后,会先执行alert( '默认跳转阻止成功啦!' ),再进行默认的跳转动作。但是我们添加 return false;以后,点击事件函数会直接结束,不会再执行默认的跳转。

第五种方法:

但是如果想要给当前标签绑定多个事件时,使用普通 标签.onclick = function() {}方法添加事件时,会进行事件覆盖,所以有时我们会使用绑定事件,即标签.addEventListener( 事件类型,事件处理函数,是否捕获 )方法。在绑定事件中想要阻止默认事件要使用到事件对象event,之后使用event.preventDefault(),对于兼容IE浏览器的话,进行设置ev.returnValue = false;

  1. <a href="https://www.baidu.com">这是一个链接</a>   
  2. <script>   
  3.     var link = document.getElementsByTagName("a") [0];   
  4.     if ( link.addEventListener ) {   
  5.     // 标准浏览器下绑定   
  6.         link.addEventListener( "click", fun,false);   
  7.    } else {   
  8.     // 低版本IE浏览器下绑定   
  9.          link.attachEvent( "onclick", fun );   
  10.     }   
  11.     function fun(ev) {   
  12.     // 对事件对象做一个兼容处理   
  13.         var ev = window.event || ev;   
  14.         // 标准浏览器    ev.preventDefault();   
  15.     // ie浏览器      ev.returnValue = false;   
  16.     // 对于其中一个做判断,若有该方法则使用,没有则说明为低版本IE浏览器   
  17.     ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;   
  18.     }   
  19. </script> 
文章“【Web前端基础知识】阻止a标签的跳转”已帮助

更多内容

>>本文地址:https://www.ujiuye.com/zhuanye/2021/69432.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME