Как остановить окно браузера от перехода по хеш-ссылке #ID - требуется самый простой javascript - PullRequest
2 голосов
/ 29 сентября 2010

У меня есть клиент, у которого строго нет javascript, но в этом конкретном случае я не думаю, что смогу этого избежать.

У меня возникает ситуация "следующей / предыдущей", которая используетсяCSS (переполнение: скрытое и позиция: абсолютное) - где щелчок следующим или предыдущим (a href = "# section ...") затем отображает соответствующий идентификатор div в представлении, но браузер переходит к верхней части экрана,действительно очень раздражает.

Какой самый простой возможный способ предотвратить этот скачок (с javascript) - но все же быть пригодным для пользователей с отключенным javascript?

Ответы [ 2 ]

4 голосов
/ 29 сентября 2010

Эту проблему можно решить только с помощью a) Использование JS или b) Избавление от этих ссылок.

Если вы выбрали вариант:

var links = document.getElementsByTagName('a');
var link;
for(var i = 0, j = links.length; i < j; i++) {
    link = links[i];
    if(link.href.substring(0, 1) == '#') {
       link.onclick = function(e) {
          var ev = e || event;
          ev.preventDefault();
       };
    }
}
1 голос
/ 08 июля 2013

Просто замените ссылку «#» на «javascript: void (0)», и ваша страница не будет прокручиваться

HTML

<a href="javascript:void(0);" title=" ">Link</a> // if you want no link, just like '#' link.
<a href="javascript:page(0);" title=" ">Link</a> // for link that you don't want to show.

JS

function page()
{ window.location.assign("home.html"); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...