取消浏览器滚动重置为内嵌的onclick(Cancel Browser Scroll Reset f

2019-10-21 07:12发布

我使用的原型构建从一个的onclick链路上内嵌一个Ajax请求。 该功能显示了页面上的元素,这一切工作正常,除了浏览器滚动条链接的每次点击后重置到顶部。 这是坏的B / C有时,我想展示的内容已部分地向下滚动页面,这使得它,使用户无法看到它。 我意识到这是更好地不包括内嵌的onclick,但我有一个情况我动态创建这些链接,然后缓存HTML,所以它是这样更快。 有什么办法来取消使用内嵌的onclick这个浏览器滚动复位? 这是我的代码如下所示:

<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 { }
}

Answer 1:

onclick需要返回false可以重新加载页面(导致滚动到顶部)停止浏览器。 尝试:

<a href="#" rel="nofollow" onclick="linkAjax('example'); return false;" id="word_link_example">example</a>


Answer 2:

做到这一点:的onclick = “linkAjax( '示例')返回false”



文章来源: Cancel Browser Scroll Reset for Inline Onclick