Javascript 如何避免单击asp.net单选按钮时页面滚动
我有一个asp.net单选按钮,当用户单击该单选按钮时,系统会向上滚动到页面顶部,为了避免出现这种情况,我使用了其他人提到的不同解决方案,如下面的解决方案,但问题是页面会滚动到页面顶部,然后返回到其原始位置。有没有防止滚动的解决方案 这是源代码:Javascript 如何避免单击asp.net单选按钮时页面滚动,javascript,asp.net,Javascript,Asp.net,我有一个asp.net单选按钮,当用户单击该单选按钮时,系统会向上滚动到页面顶部,为了避免出现这种情况,我使用了其他人提到的不同解决方案,如下面的解决方案,但问题是页面会滚动到页面顶部,然后返回到其原始位置。有没有防止滚动的解决方案 这是源代码: <asp:TableCell> <asp:RadioButton ID="rbSubscription" runat="server" OnCheckedChanged="HighlightSubscription" Aut
<asp:TableCell>
<asp:RadioButton ID="rbSubscription" runat="server" OnCheckedChanged="HighlightSubscription" AutoPostBack="true"/>
</asp:TableCell>
<%--Script to avoids Page Scroll--%>
<asp:HiddenField runat="server" ID="hfPosition" Value="" />
<script type="text/javascript">
$(function () {
var f = $("#<%=hfPosition.ClientID%>");
window.onload = function () {
var position = parseInt(f.val());
if (!isNaN(position)) {
$(window).scrollTop(position);
}
};
window.onscroll = function () {
var position = $(window).scrollTop();
f.val(position);
};
});
</script>
$(函数(){
var f=$(“#”)型;
window.onload=函数(){
var position=parseInt(f.val());
如果(!isNaN(位置)){
$(窗口)。滚动顶部(位置);
}
};
window.onscroll=函数(){
var position=$(window.scrollTop();
f、 val(位置);
};
});
您可能只想设置为True
并避免在此处重复使用轮子。感谢Cory的评论,不幸的是,使用此选项也会导致页面滚动到顶部并重新滚动到当前位置。使用UpdatePanel如何?不会滚动到顶部,因为回发将通过ajax调用page@albertsh:回发是整个页面的重新呈现和加载。除了禁用AutoPostBack
、使用AJAX提交表单以及一些DOM操作来更新任何需要更改的内容之外,无法避免重新滚动的可见闪烁。这就是浏览器的工作方式,无论技术如何。您可能只想设置为True
,避免在此处重复使用。感谢Cory的评论,不幸的是,使用此选项也会导致页面滚动到顶部并重新滚动到当前位置。使用UpdatePanel如何?不会滚动到顶部,因为回发将通过ajax调用page@albertsh:回发是整个页面的重新呈现和加载。除了禁用AutoPostBack
、使用AJAX提交表单以及一些DOM操作来更新任何需要更改的内容之外,无法避免重新滚动的可见闪烁。这就是浏览器的工作方式,不管技术如何。