javascript - return false onclick anchor 不完全工作

标签 javascript html

我有一个灯箱叠加层,我正在使用下面的内容来取消浏览器窗口滚动以获取“#”的 href anchor 。我让它工作,所以它不会在初始点击时滚动窗口,但是在关闭灯箱覆盖时,浏览器滚动到顶部并且 # 附加到 URL。

<a href="#" onclick="somefunction(); return false;">...

甚至这个...

<a href="javascript:void(0)" onclick="somefunction(); return false;">...

链接位于可点击的图像上,onclick 函数会触发叠加层弹出。

Andy 想出如何防止浏览器在退出覆盖层时滚动到顶部?

最佳答案

我建议根本不要使用 anchor 标记。如果您不想要 HREF 值,那么它实际上不是指向另一个页面的链接,因此可能不是真正的链接。如果该网站必须在没有 javascript 的情况下可以访问,那么您需要多考虑这一点并提出一个解决方案,该解决方案将允许链接到实际内容的真实 href 值。

但是,如果您认为这是一个需要 JS 的应用程序,那么您可以这样做:

<a href="javascript:;" onclick="somefunction(); return false;">

但是,再说一次,这确实是您单击以更新 UI 而不是去某个地方的东西,所以我只是将其设为 DIV,为其提供一个 onclick 事件,然后完成它。但一定要给 div 一个 tabindex,这样它就可以通过键盘访问。

关于javascript - return false onclick anchor 不完全工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5644665/

相关文章:

javascript - 有效地将线段排序成一个循环

javascript - 使用两个或多个具有不同数量属性的着色器时发生冲突

javascript - 查询。仅将功能应用于关联的内容/div

javascript - Captivate - html5 export 添加了第一张带有播放按钮的幻灯片

javascript - SyntaxError : missing formal parameter with Processing. js,找不到解决方案

javascript - 动态 Grunt Watch 配置

javascript - 单击时将 href 值设置为 javascript 变量

javascript - 我如何使用 jquery 删除 "Read more"?

css - 无法使用类型属性选择器在 IE7 中设置新的 HTML5 输入类型

javascript - Leaflet - onEachFeature 鼠标悬停更新表格的 innerHTML