使用jQuery禁止/隐藏使用div停止页面到顶部

时间:2011-11-08 15:39:53

标签: jquery html

我知道这篇文章的标题有些令人困惑,但我想不出用这么短的篇幅来解释它的方法。

基本上我的问题是:我创建了一个跟踪事件的程序,单个页面上可能有很多事件,所以当用户点击“查看详细信息”按钮时,我决定最初隐藏每个项目的详细信息详细信息div被取消隐藏,用户可以查看它们,如果再次单击它们则会隐藏它们。

问题在于,如果用户位于页面上并点击链接,则会将其拍摄回页面顶部(同时仍显示详细信息),用户必须一直向下滚动到页面阅读条目。有没有人知道如何让用户保持他们点击按钮时的位置?

谢谢,如果我能提供其他任何内容,请告诉我。

6 个答案:

答案 0 :(得分:3)

使用<a href="javascript:void(0)">代替#

答案 1 :(得分:3)

这可能与您的“查看详细信息”按钮是#href值的锚点有关。

您可以通过添加以下内容来停止此操作:

return false;

或使用preventDefault()调用。

jQuery的:

$('.view_details').on('click', function(event) {

    // Your Code
    event.preventDefault();
    // or
    return false;

});

这将阻止链接将您发送到页面顶部。

答案 2 :(得分:2)

我猜你有一个可以点击的锚标签吗?

并且锚标记链接到“#”?

如果是这样,请尝试添加onclick =“return false;”到那个标签

<a href='#' class='view_details' onclick='return false;'>View details</a>

答案 3 :(得分:1)

$('.view_details').click(function(e) {
   e.preventDefault();
   //do your stuff
});

答案 4 :(得分:1)

如果没有看到您的HTML,我只能猜测...但如果你使用的是这样的话:

<a href="#" id="details12" onclick="show_details();">show details</a>

...当用户点击该链接时,它们将转到页面顶部。那是因为你有href属性 - '#'是一个空锚,并且会将页面拍到顶部。您需要做的就是从您的活动中返回错误:

<a href="#" id="details12" onclick="return show_details();">show details</a>

function show_details(e) {
  // show the details

  return false;
}

您也可以按照此处所述使用event.preventDefaulthttps://developer.mozilla.org/en/DOM/event.preventDefault

答案 5 :(得分:0)

你可能忘了回报虚假?

$("a.detail").click(function(){

    // Loading the div contents... 

    return false; // Don't forget this
});