Отмена сброса прокрутки браузера для встроенного нажатия - PullRequest
1 голос
/ 22 апреля 2010

Я использую прототип для создания ajax-запроса из встроенного клика по ссылке. Функция показывает элемент на странице, и все это прекрасно работает, за исключением того, что полоса прокрутки браузера сбрасывается в верхнюю часть после каждого нажатия ссылки. Это плохо, потому что иногда контент, который я хочу показать, частично прокручивается вниз по странице, и это делает его таким, чтобы пользователь не мог его видеть. Я понимаю, что лучше не включать onclick inline, но у меня есть ситуация, когда я динамически создаю эти ссылки, а затем кеширую html, чтобы это было быстрее. Есть ли способ отменить этот сброс прокрутки браузера с помощью встроенного щелчка мыши? Вот как выглядит мой код:

<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 ]

1 голос
/ 22 апреля 2010

Ваш onclick должен возвращать значение false, чтобы браузер не перезагружал страницу (что приводит к прокрутке вверх). Попробуйте:

<a href="#" rel="nofollow" onclick="linkAjax('example'); return false;" id="word_link_example">example</a>
0 голосов
/ 22 апреля 2010

Сделайте это: onclick = "linkAjax ('example') return false"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...