我想知道是否有人知道如何在链接提交时页面不动,即
<a href="#"></a>
如果它是2页长度下降它会射到顶部。
答案 0 :(得分:3)
如果您通过jQuery将事件附加到HTML控件,那么您可以使用return false
之类的
$("#myDiv").delegate("tr", "click", function() {
enter code here
return false;
});
答案 1 :(得分:2)
无需替换锚点,因为您自己对问题的回答说明了。
这也可行:
<a href="#" onclick="yourOwnSubmitFunction(); return false;">
简而言之,只需确保onClick处理程序中的任何函数都返回boolean false
。
答案 2 :(得分:2)
虽然拥有链接的onclick
处理程序return false;
是阻止链接被跟踪的正确方法,但是以这种方式使用链接有点麻烦,因为你得到的是一个行动而不是链接。你不能在你的链接上做类似链接的事情,例如右键单击书签,或者中键点击换新标签等等,所以它不应该真的有这样的支持。
另一种选择(例如SO使用)是将onclick放在非链接元素上,例如:
<span id="potato">Do something</span>
<script type="text/javascript">
document.getElementById('potato').onclick= function() {
// do something
};
</script>
这个更干净,但有一个缺点是链接无法通过常用的键盘标签方法进行聚焦和激活。
更好的方法是使用<input type="button">
或<button type="button">
,这是表示操作的正确标记。当然这些看起来完全不同,但你可以使用CSS来设置它们的样式,以便它们看起来像链接而不是按钮,如果你愿意的话。这种方法的一个缺点是好老的傻IE不能完全重新设置按钮;您将在此浏览器中获得几个不可移除的额外填充像素。
答案 3 :(得分:0)
如果您使用的是.net 2.0
有一个
<强> MaintainScrollPositionOnPostback 强>
@page指令中的属性,可用于维护页面的滚动位置。
获取或设置一个指示的值 是否将用户返回到同一个用户 在客户端浏览器中的位置 回发。这个属性取代了 过时的SmartNavigation属性。
将网页发回给 服务器,用户返回 页面顶部。在长网页上, 这意味着用户必须滚动 页面回到最后一个位置 页面。
当 MaintainScrollPositionOnPostback()()() 属性设置为true,用户是 而是返回到最后一个位置 在页面上。
如果你不能使用它,那么在提交后将location.href设置为指定位置的锚标记。
location.href = "#anchAtPos";
其中anchAtPos是指定位置的锚标记的id。
答案 4 :(得分:0)
我用以下方法解决了这个问题:
function anchorReplace()
{
$("#reportWrapper a").each(function(i){
var anchorElement = $(this);
var newAnchorElement = $('<a href="#link' + i + '" name="#link' + i + '">'
+ anchorElement.text() + '</a>').insertBefore(anchorElement);
anchorElement.remove();
});
}
答案 5 :(得分:0)
我之前已经修好了
onclick='return false;'
链接内
<a href="#" onclick='return false;' id='attachAlistenertothisID'>This link doesn't jump to the top!</a>
我将这个用于我的链接,点击监听器通过jQuery附加它们。
希望这有助于某人!