空URL散列导致页面跳转到js事件

时间:2013-11-01 13:46:10

标签: javascript html hashbang

我有一个带有下一个和上一个按钮的照片库。如果我的某个javascript方法由于某种原因因单击其中一个按钮而被破坏,则会向该网址添加一个哈希值,即www.google.com#。我知道哈希可以被赋予一个div id来跳转到页面的那一部分但是当它是空白时它跳过我的页面几次而且我不确定它的目标是什么。我想过尝试从网址中删除哈希值,但是我必须确保在每个操作上都这样做,这似乎是不好的做法。如果哈希对页面上的操作没有任何影响,我更愿意。

3 个答案:

答案 0 :(得分:2)

我猜Next和Prev按钮的标记为<a href="#" ...</a>。在这种情况下,您可以使用jquery

向这些链接添加事件侦听器
$('#prev, #next').on({
    'click': function(e) {
         e.preventDefault();
     }
})

并避免通过浏览器更改位置。或者在纯javascript中:

document.querySelectorAll('#prev, #next').addEventListener('click', function(e) {
    e.preventDefault();
},false)
//Note: this code is not cross-browser

答案 1 :(得分:2)

不要使用href="#",这是不合适的。

相反,请使用href="javascript:;"或其变体(我个人使用javascript:void(null);
这明确指出链接不会转到另一个位置,而是由JavaScript处理。

答案 2 :(得分:1)

如果您不想执行导航功能,请不要使用锚标记。使用button