繁体   English   中英

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

[英]Empty URL hash causes page to jump on js events

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

我猜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

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

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

当您不想执行导航功能时,请勿使用锚标记。 使用button

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM