我知道这篇文章的标题有些令人困惑,但我想不出用这么短的篇幅来解释它的方法。
基本上我的问题是:我创建了一个跟踪事件的程序,单个页面上可能有很多事件,所以当用户点击“查看详细信息”按钮时,我决定最初隐藏每个项目的详细信息详细信息div被取消隐藏,用户可以查看它们,如果再次单击它们则会隐藏它们。
问题在于,如果用户位于页面上并点击链接,则会将其拍摄回页面顶部(同时仍显示详细信息),用户必须一直向下滚动到页面阅读条目。有没有人知道如何让用户保持他们点击按钮时的位置?
谢谢,如果我能提供其他任何内容,请告诉我。
答案 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.preventDefault
:https://developer.mozilla.org/en/DOM/event.preventDefault
答案 5 :(得分:0)
$("a.detail").click(function(){
// Loading the div contents...
return false; // Don't forget this
});