返回false onclick锚点不能完全正常工作

Ron*_*ieT 5 html javascript

我有一个灯箱覆盖,我正在使用下面取消浏览器窗口滚动为"#"的href锚点.我有它的工作,所以它不会在初始点击时滚动窗口,但是关闭灯箱覆盖后,浏览器滚动到顶部,#被附加到URL.

<a href="#" onclick="somefunction(); return false;">...
Run Code Online (Sandbox Code Playgroud)

甚至这......

<a href="javascript:void(0)" onclick="somefunction(); return false;">...
Run Code Online (Sandbox Code Playgroud)

链接位于可点击的图像上,onclick功能触发覆盖图以弹出.

Andy想法如何在退出叠加层时阻止浏览器滚动到顶部?

DA.*_*DA. 9

我建议根本不使用锚标签.如果您不想要HREF值,那么它实际上不是指向另一个页面的链接,因此可能不是真正的链接.如果网站必须无法访问javascript,那么您需要更多地考虑这个问题并提出一个解决方案,该解决方案将允许链接到实际内容的真实href值.

但是,如果您对这是一个需要JS的应用程序感到满意,那么您可以这样做:

<a href="javascript:;" onclick="somefunction(); return false;">
Run Code Online (Sandbox Code Playgroud)

但是,再次,这是你点击更新UI而不是去某个地方的东西,所以我只是让它成为DIV,给它一个onclick事件,并完成它.但一定要给div一个tabindex,以便它可以通过键盘访问.


ale*_*lex 6

你应该避免使用#href和javascript:伪协议.

链接应始终指向有效资源.

如果您不能使用更合适的元素button(如您的示例所示),我将使用event.preventDefault()取消默认行为.

  • 使用锚标签来执行 javascript 是一种网络标准。它没有任何问题。甚至谷歌也同意。 (4认同)