一道面试题,在html中,如何防止链接跳转 ?

发布于 2022-09-01 17:27:43 字数 488 浏览 11 评论 0

1、<a href="javascript:;"></a>
2、<a href="####"></a>
3、<a href="javascript:void(0)"></a>
4、<a href="javascript:void(null)"></a>
5、<a href="#" onclick="return false"></a>
6、<a href="javascript:"></a> //这样也是可以的

上面有什么区别的,在实际工作中,哪一种最好?

为什么QQ用的是javascript:; ,而微博用的是javascript:void(0)

然后,我还有更进一步的疑问:JavaScript中语句最后的分号是可以缺省的,那为何要使用javascript:;而不是javascript:呢?

是习惯还是规范,求解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温柔戏命师 2022-09-08 17:27:43

void 是运算符,对任何值都返回undefined;下面几种写法是相同的

<a href="javascript:;"></a>
<a href="javascript:void(0)"></a>
<a href="javascript:void(null)"></a>
<a href="javascript:"></a> //这样也是可以的
感情旳空白 2022-09-08 17:27:43

用 a 是因为 a 元素自带 pointer
href用javascript不# 是因为点击事件同时会触发 a链接的跳转,所以#要return false;阻止跳转
而用javascript把链接诠释成了js 就不会跳了,至于 void(0), void(null) 和 :; , : 我就不知道了。
我只用 :;
好像问题最多的是 ie6 的情况下

岛徒 2022-09-08 17:27:43
<a href="javascript:;"></a>  <!-- 我就说一句  “一直在用这个,一直没出过问题。”  -->

这些玩意 就是因为js太过于灵活。

除了 以下两个不推荐。别的都无所谓

<a href="####"></a>
<a href="#" onclick="return false"></a>
禾厶谷欠 2022-09-08 17:27:43

关于:;和void(0)可以看下这个的介绍:http://www.jb51.net/article/37904.htm

把时间冻结 2022-09-08 17:27:43

应该说,哪种简单用哪种!
另外,并不是说JavaScript的;都可以省略,只是句尾的可以省略。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文