0

我有一个页面,其中包含一些我需要添加编辑功能的评论。我创建了一个局部视图来编辑它们,并使用 jQuery get 在包含实际注释的 div 中加载局部视图。

问题是当我执行异步获取并重置页面位置时,整个页面都会以某种方式刷新。如果我编辑在下面某处找到的编辑,当视图被重置时,我必须向下滚动才能在编辑模式下查看实际评论。我怎样才能让页面静止不动,而不是让用户感到困惑?

这是我用来执行 GET 的函数:

function redirectToEditComment(url, container, commentID) {
   $.get(url, { id: commentID }, function (data) {
      container.html(data);        
   });
}

这是我用来触发编辑的链接:

<a href="#" onclick="redirectToEditComment(editCommentURL, $('#@containerId'), @comment.Id)">Edit</a>

这就是我为评论 div 设置 id 的方式:

@foreach (var comment in Model.Comments)
{
   containerId = "commentsContainer_" + i++;

PS:问题是当我执行 jQuery GET 时页面滚动回顶部。如何防止滚动?

4

2 回答 2

0

问题出在您的锚标记中,您设置了 href="#" 将您带到页面顶部。要么写href="javascript:void(0);",要么href="javascript:;"

无需从您的 javascript 方法中返回 false。

于 2013-09-03T09:56:25.357 回答
-1

我在 SO 上找到了答案:在 jQuery get 之后返回 false

<a href="#" onclick="redirectToEditComment(editCommentURL, $('#@containerId'), @comment.Id); return false;">Edit</a> 
于 2013-09-03T09:53:51.477 回答