javascript - 如何阻止浏览器窗口跳转到 #ID 哈希链接 - 需要最简单的 JavaScript

标签 javascript hash window

有一个严格不使用 JavaScript 的客户,但在这种特殊情况下,我认为我无法避免它。

我使用CSS(溢出:隐藏和position:absolute)遇到了“下一个/上一个”特色区域情况 - 单击下一个或上一个(a href =“#section ...”)然后会带来相关的div ID进入 View - 但是,浏览器跳到屏幕顶部,这真的很烦人。

防止这种跳转发生的最简单方法是什么(使用 javascript) - 但对于关闭 javascript 的用户仍然可用?

最佳答案

你只能通过 a) 使用 JS 或 b) 删除这些 anchor 链接来解决这个问题。

如果您选择选项 a:

var links = document.getElementsByTagName('a');
var link;
for(var i = 0, j = links.length; i < j; i++) {
    link = links[i];
    if(link.href.substring(0, 1) == '#') {
       link.onclick = function(e) {
          var ev = e || event;
          ev.preventDefault();
       };
    }
}

关于javascript - 如何阻止浏览器窗口跳转到 #ID 哈希链接 - 需要最简单的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821545/

相关文章:

perl - 如何将散列传递给 Perl 子例程?

c# - 当 showdialogwindow 阻止我尝试访问的窗口时,是否有事件或我可以使用的东西

vba - 如何使用vba在windowapi中使用findwindow函数定位窗口?

javascript - 无法在按钮上初始化 Jquery DataTables 单击 Ajax 调用

hash - 将 Rails 参数哈希传递给命名路由的更有效方法

ruby - 如何将散列保存到 CSV 中

c# - 如何仅在我的应用程序中将一个窗口保持在所有其他窗口之上?

javascript - Angularjs:无法将类添加到 ID

javascript - jQuery + Bootstrap 日期选择器 : How to have two datepicker inputs update each other?

javascript - 正则表达式匹配最后一个空格字符