经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
a标签如何禁止href跳转或链接?
来源:cnblogs  作者:不知名前端李小白  时间:2022/1/17 10:48:21  对本文有异议

在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,用户体验不好。

(1)阻止默认事件

阻止默认事件的发生有两个方法:

  • return false
  • e.preventDefault()
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <a href="https://www.baidu.com/">去百度</a><br>
  9. <!-- 阻止默认事件两种方法 -->
  10. <a href="https://www.baidu.com/" onclick="return false">去百度(禁止默认事件:return false)</a><br>
  11. <a href="https://www.baidu.com/" id="go">去百度(禁止默认事件:e.preventDefault())</a>
  12. <script>
  13. //获取元素节点
  14. let go = document.querySelector("#go")
  15. // 点击事件
  16. go.onclick = function (e) {
  17. // 阻止默认事件
  18. e.preventDefault()
  19. }
  20. </script>
  21. </body>
  22. </html>

通过阻止a标签默认事件就可以禁止a标签跳转!

 

(2)javascript:void(0)(少用)

javascript:void(0)这是一种伪协议,void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等

void是javascipt自身的操作符,它表示的是只执行表达式,但没有返回值!

  1. <a href="javascript:void(0)">点击无法跳转(javascript:void(0))</a>
  2. <a href="javascript:void(null)">点击无法跳转(javascript:void(null))</a>

这两种写法都可以,都表示一个死链接,点击无效果

 

(3)javascript:;

javascript:; 执行一段空白的javascript语句,返回空或者false值,从而防止链接跳转

javascript:; 写法比 javascript:void(0) 好,后者存在浏览器兼容bug

  1. <a href="javascript:;">点击无法跳转(javascript:;)</a>

 

(4)href(####)

使用2个到4个#,见的大多是"####",也有使用"#all"等其他的。一个无意义的标签指定,不做任何处理。

(这种方法会在浏览器地址栏上出现“####”)

  1. <a href="####">点击无法跳转</a>

注意:只是用一个“#”是不行的,会默认刷新页面回到页面顶部

 

总结:

  • <a href="####"></a>

  • <a href="javascript:void(0)"></a>

  • <a href="javascript:void(null)"></a>

  • <a href="#" onclick="return false"></a>

  • <a href="#" id="go"></a>

  1. <script>
  2. let go = document.querySelector("#go")
  3. go.onclick = function (e) {
  4. e.preventDefault()
  5. }
  6. </script>

 

本文来自博客园,作者:不知名前端李小白,转载请注明原文链接:https://www.cnblogs.com/libo-web/p/15798017.html

原文链接:http://www.cnblogs.com/libo-web/p/15798017.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号