javascriptvoid(0)含义以及与"#"的区别讲解

荣誉就像河流:轻浮的和空虚的荣誉浮在河面上,沉重的和厚实的荣誉沉在河底里。雨会停,心会晴,没有什么会永远糟糕透顶。

javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中非常重要的关键字,该操作符指定要计算一个表达式但是无返回值。

说明:

  • 1.javascript:void(0)这种伪协议,少写的好,如果你看过一些web标准的书就知道为什么了。(不懂,原话摘的,暂做记录)
  • 2.链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“####”。为防止点击链接后跳转到页首,onclick事件return false即可。
  • 3.如果仅仅是想鼠标移过,变成手形,可以使用

<span style="cursor:pointer" onclick="foo()">Click Me!</span>

推荐写法:javascript:;

为什么要使用rel="nofollow noopener noreferrer" href=”javascript:void(0);”

rel="nofollow noopener noreferrer" href=”javascript:void(0);”这个的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,而void(0)表示一个空的方法,也就是不执行js函数。

javascript:是伪协议,表示url的内容通过javascript执行。

void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作,

<a rel="nofollow noopener noreferrer" href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="window.open()"> 点击链接后,页面不动,只打开链接

<a rel="nofollow noopener noreferrer" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="javascript:return false;"> 作用一样,但不同浏览器会有差异。

rel="nofollow noopener noreferrer" href=”#"的区别(谷歌浏览器)

<a rel="nofollow noopener noreferrer" href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" >点击</a>点击链接后不会回到网页顶部

<a rel="nofollow noopener noreferrer" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >点击</a> 点击后会回到网面顶部,并会在地址栏的后面加个 #

"#"其实是包含了位置信息,例如默认的锚点是#top 也就是网页的上端

而javascript:void(0) 仅仅表示一个死链接这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首

而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0)

使用javascript的方法(下面的这些用法会报错)

<a rel="nofollow noopener noreferrer" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="javascript:方法;return false;">文字</a>

<a rel="nofollow noopener noreferrer" href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="javascript:方法;return false;">文字</a>

补充 :<a rel="nofollow noopener noreferrer" href="javascript:fn();" rel="external nofollow" 这样点击a标签就可以执行fn()函数了。

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

您可能有感兴趣的文章
使用Ajax实时检测"用户名、邮箱等"是否已经存在

JavaScript"模拟事件"的注意要点详解

JavaScript中的"=、==、==="区别讲解

微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}

javaScript中"=="和"==="的区别详解