我在我维护的网站上发现了一个错误。如果您单击键盘上的任何按钮,将删除哈希URL并且浏览器跳转到页面顶部。我认为这是我的平滑滚动功能的一个问题,但我完全删除了它,没有任何改变。我还尝试为箭头点击设置默认操作,但它仍然删除了哈希网址。
您可以看到它here正在发生,您只需点击键盘上的任意按钮即可查看问题。
无论如何都要阻止浏览器删除哈希网址?
答案 0 :(得分:2)
问题似乎出现在您网站中包含的名为app.js
的Javascript文件中。
在某处,您检查键盘输入如下:
$(document).keyup(function(e) {
if(e.keyCode == 37 || 39) { //left right arrow
var activeMem = $('.detail-active').find(textCenter).text();
var spaces = activeMem.toString().replace(/ /g, '-');
var comma = spaces.replace(',', '').toLowerCase();
var clean = comma.replace('.', '').toLowerCase();
if (clean.substring(clean.length-1) == ".") {
clean = clean.substring(0, clean.length-1);
}
var hash = '#'+clean;
location.hash = hash;
}
});
问题在于这种情况if(e.keyCode == 37 || 39)
。
它应该是if(e.keyCode == 37 || e.keyCode == 39)