页面移动链接提交

时间:2009-09-28 09:00:01

标签: html hyperlink anchor

我想知道是否有人知道如何在链接提交时页面不动,即

<a href="#"></a>

如果它是2页长度下降它会射到顶部。

6 个答案:

答案 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附加它们。

希望这有助于某人!