[JS] Модификацию содержимого делать не через innerHTML?

356ft85

есть html с таким кодом
 <html>
<body>
<div style='height: 2000px'></div>
<a href='#' onclick='sel(1);'>111</a>
<a href='#' onclick='sel(0);'>000</a>
<div id=text></div>
<script>
function sel(i){
document.getElementById("text").innerHTML=i;
}
</script>
</body>
</html>

Если прокрутить вниз её и нажать одну из ссылок, то после модификации содержимого DIV страница аавтоматом отскролливается наверх. проверено в опере и фф.
как этого избежать?

artimon

Страница прыгает вверх не потому что ты пользуешся innerHTML, а потому что срабатывает ссылка <a href="#">
Используй другой тег, например span, а подчёркивание добавь с помощью CSS

uncle17

1) не ставить href="#", а ставить href="#!", если уж так нужен href
2) написать в конце sel(i) "return false;" или "void(0)"

PooH

если это и есть весь скрипт на странице, то еще более-менее
если скриптов больше - советую не вешать обработчики на onclick, а вешать их на события

356ft85

) не ставить href="#", а ставить href="#!", если уж так нужен href
действительно сработало

hwh2010

Используй другой тег, например span, а подчёркивание добавь с помощью CSS
гореть тебе в аду, и всем кто так делает
вот юзер бразуера для нетачскринных мобильников на эту херню уже не кликнет никогда скорее всего
а всё потому что вместо того чтобы юзать специально разработанные для этого способы, описанные в документации, кофеманы пытаются всех обмануть

artimon

Хм, ну допустим он кликнет и что дальше?
Попадёт вверх страницы?
ЗЫ. Опера мини даст кликнуть на эту «ссылку».

hwh2010

Хм, ну допустим он кликнет и что дальше?Попадёт вверх страницы?
сработает js
ЗЫ. Опера мини даст кликнуть на эту «ссылку».
Попасть в неё курсором тяжело, а листинг ссылок её не содержит

PooH

таких пользователей, как ты, нельзя пускать на основной сайт
нужно им собственный маленький сайт делать
(у нас, к примеру, это реализовано через различные темплейты - при этом основная функциональность не страдает, но зато для каждого класса устройств сайт показывается в наиболее удобном виде)
Оставить комментарий
Имя или ник:
Комментарий: