我该如何防止每次点击链接时页面“跳动”?例如,我在页面中间有一个链接,当我点击它时,页面会跳到顶部。
我该如何防止每次点击链接时页面“跳动”?例如,我在页面中间有一个链接,当我点击它时,页面会跳到顶部。
锚点的链接是href="#"
吗?可以将其改为href="javascript:void(0);"
。
如果您要阻止默认行为,请使用以下代码:
event.preventDefault ? event.preventDefault() : event.returnValue = false;
假设这是您链接的HTML:
<a href="#something" id="some_id">Some link goes somewhere...</a>
如果你正在使用jQuery,请尝试这样:
$(document).ready(function() {
$('a#some_id').click(function(e) {
e.preventDefault();
return false;
});
});
如果您不使用jQuery,可以尝试使用纯DOM JavaScript:
window.onload = function() {
if(document.readyState === 'complete') {
document.getElementById('some_id').onclick = function(e) {
e.preventDefault();
return false;
};
}
};
如果将链接的href
属性设置为#
,它会跳转到顶部,因为它正在寻找锚标签。只需省略href
属性,它就不会去任何地方,但它也不再像一个链接(请确保在JavaScript中处理click
事件,否则它真的没有什么用)。
另一种选择是在JavaScript中处理单击事件,在事件处理程序内取消默认操作并返回false。
e.preventDefault();
return false;