取消内联Onclick的浏览器滚动重置

时间:2010-04-22 19:53:12

标签: javascript prototypejs scrollbar

我正在使用原型从链接上的内联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 { }
}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

这样做:     onclick =“linkAjax('example')返回false”