После вставки html кода через "jQuery html()" скролл автоматом прокручивает страницу
После вставки html кода через "jQuery html()" скролл автоматом прокручивает страницу вверх. Как отменить эту авто прокрутку?
Необходимо чтобы позиция экрана после динамической вставки данных не изменялась. |
Проверил в Chrome (26.0.14), ничего не прокручивается, скролл остается на прежнем месте.
Какой браузер? Возможно ошибка в алгоритме, покажите код. |
E-Roman,
Запоминайте перед началом загрузки scrollTop( ); По окончании загрузки восстанавливайте(возможно придется восстанавливать с задержкой setTimeout либо по событию $(window).load Посколь в подгружаемом контенте могут быть картинки и фреймы, полная загрузка которых растягивается и после завершения подгрузки контента HTML |
Проблема решена
Проблема решена, надо было удалить атрибут (href='#'), т.к. событие onClick висело на теге <a>.
|
Может тогда имеет смысл навесить обработчик не на ссылку, а, скажем, на span. Не стоит смущать пользователя и браузер пустыми ссылками.
Либо так: <a href="some.html" class="js-link">Click me!</a> $('.js-link').on('click', function(e){ // TODO: Полезное действие e.preventDefault(); // Отмена действия браузера по-умолчанию }); |
Часовой пояс GMT +3, время: 16:49. |