Javascript 取消内联Onclick的浏览器滚动重置
我使用prototype从链接上的内联onclick构造ajax请求。该功能在页面上显示一个元素,所有这些都可以正常工作,只是每次单击链接后浏览器滚动条都会重置为顶部。这是不好的b/c有时候我想显示的内容在页面上部分向下滚动,这样用户就看不到了。我意识到最好不要包含onclick内联,但我有一种情况,我动态创建这些链接,然后缓存html,这样做速度更快。是否有任何方法可以使用内联onclick取消此浏览器滚动重置?这就是我的代码的样子:Javascript 取消内联Onclick的浏览器滚动重置,javascript,prototypejs,scrollbar,Javascript,Prototypejs,Scrollbar,我使用prototype从链接上的内联onclick构造ajax请求。该功能在页面上显示一个元素,所有这些都可以正常工作,只是每次单击链接后浏览器滚动条都会重置为顶部。这是不好的b/c有时候我想显示的内容在页面上部分向下滚动,这样用户就看不到了。我意识到最好不要包含onclick内联,但我有一种情况,我动态创建这些链接,然后缓存html,这样做速度更快。是否有任何方法可以使用内联onclick取消此浏览器滚动重置?这就是我的代码的样子: <a href="#" rel="nofollow"
<a href="#" rel="nofollow" onclick="linkAjax('example')" id="word_link_example">example</a>
function linkAjax(word){
if(!making_ajax_request){
making_ajax_request = true;
new Ajax.Request('/example/test',
{parameters:{data: word},
onLoading: function(){searchLoading();},
onComplete: function(){
making_ajax_request = false;
}
});
} else { }
}
函数linkAjax(word){
如果(!发出请求){
使_ajax_request=true;
新的Ajax.Request(“/example/test”,
{参数:{data:word},
onload:function(){searchLoading();},
onComplete:function(){
发出请求=false;
}
});
}else{}
}
执行以下操作:
onclick=“linkAjax('example')return false”执行以下操作:
onclick=“linkAjax('example')return false”您的
onclick
需要返回false以阻止浏览器重新加载页面(导致滚动到顶部)。尝试:
您的
onclick
需要返回false以阻止浏览器重新加载页面(导致滚动到顶部)。尝试:
<a href="#" rel="nofollow" onclick="linkAjax('example'); return false;" id="word_link_example">example</a>