javascript:void(0) 是什么意思
前端开发中,我们经常会用到 <a>
标签,但是想阻止他的默认行为。如点击超链接时阻止在新标签中访问 href 所定义链接的行为,此时通常会有两种做法:
|
|
我们来分别探讨一下这两种方式分别发生了什么。
「 # 」
正如 jQuery 的选择器,# 代表的是某一位置信息,在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。
默认的锚是 #top 也就是网页的上端,所以 href = “#” 的含义就是定位到页面上端。
javascript:void(0)
「javascript:」
是伪协议,表示 url 的内容通过 JavaScript 执行。void(0) 表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作。
JavaScript 中 void 操作符将运行给定的表达式,并且返回 undefined 。如下实例将输出:
a = undefined,b = 5,c = 7
|
|
当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。
小结
#
是位置的锚点信息,所以当超链接采用 #
方式时,页面可能会发生滚动,所以建议采用 href = "javascript:void(0)"
方式,语义上也更加精确一些。
- 原文作者:范明勇
- 原文链接:https://blog.fanmuyong.com/post/javascriptvoid0-%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。