Jquery 单击锚定时的HTML滚动位置

Jquery 单击锚定时的HTML滚动位置,jquery,html,Jquery,Html,我有一个MVC应用程序,使用JQuery 我有锚,我像这样设置 <a href="#" id="addcomment">Add Comment</a> 问题是当锚点被单击时 浏览器将滚动到窗口顶部 立即单击链接并 然后div滚动 我如何阻止这种情况发生 Malcolm您必须添加返回false以防止发生默认链接事件操作。在这种情况下,默认链接事件将转到页面顶部,因为#的href告诉浏览器转到顶部。所以看起来是这样的: $('#addcomment').click(func

我有一个MVC应用程序,使用JQuery

我有锚,我像这样设置

<a href="#" id="addcomment">Add Comment</a>
问题是当锚点被单击时 浏览器将滚动到窗口顶部 立即单击链接并 然后div滚动

我如何阻止这种情况发生


Malcolm

您必须添加
返回false以防止发生默认链接事件操作。在这种情况下,默认链接事件将转到页面顶部,因为
#
的href告诉浏览器转到顶部。所以看起来是这样的:

$('#addcomment').click(function() {
    $('#divComments').slideDown(2000);
    return false;
});
虽然这也是可以接受的:

$('#addcomment').click(function(e) {
    $('#divComments').slideDown(2000);
    e.preventDefault();
});

.

您必须添加
返回false以防止发生默认链接事件操作。在这种情况下,默认链接事件将转到页面顶部,因为
#
的href告诉浏览器转到顶部。所以看起来是这样的:

$('#addcomment').click(function() {
    $('#divComments').slideDown(2000);
    return false;
});
虽然这也是可以接受的:

$('#addcomment').click(function(e) {
    $('#divComments').slideDown(2000);
    e.preventDefault();
});

.

使用命名锚有什么问题


不需要javascript的开销。

使用命名锚有什么问题


不需要javascript的开销。

我同意。为什么不仅仅是标签,还要保留额外的脚本呢?我同意。为什么不仅仅是标签,还要维护额外的脚本?