有一次发现一张网页添加的一个交互效果无法生效,经常长时间的检测后发现,是一个小小的#导致的。
因为这个交互效果需要在一个链接a标签中加入一点js代码来调用脚本,当时使用的是a href="#",如果这个链接是以新窗口的方式(target="_blank")打开的话,那么js就无法生效了。这个时候就需要用到href="javascript:void(0)"。
在这里简单说下href="javascript:void(0)"和href="#"的区别:
1、"#"包含了一个位置信息,默认的锚点是#top 也就是网页的上端。这也是为什么有的时候页面很长,链接明明是#可是点击后直接跳到了页面顶部。
2、javascript:void(0) 仅仅表示一个死链接,点击后网页不会有任何变化。