Запретить нажатие на ссылку во время загрузки страницы - PullRequest
5 голосов
/ 08 февраля 2011

У меня есть веб-страница с некоторыми ссылками, и мне нужно перехватить событие нажатия ссылки с помощью jQuery.Задача выполнена хорошо, но возникает проблема: если пользователь щелкает ссылку, когда javascript не завершает загрузку, он ссылается на другую страницу (что является ошибкой).способ отключить щелчок по ссылке до окончания загрузки страницы, но лучшее решение сейчас заключается в том, что я должен добавить onclick="return false;" в свои ссылки, что не очень элегантно.Есть ли лучшее решение?

Спасибо за помощь,

Ответы [ 4 ]

5 голосов
/ 08 февраля 2011

Вы можете попробовать использовать скрипт инициализации:

<script language="javascript">

var loaded = false;

function SetLoaded() { loaded = true; }

window.onload = SetLoaded;

</script>

Затем вы можете добавить onclick="return loaded;" к вашему href. Так как загруженный не будет истинным, пока страница не загружается, он должен отключить любую ссылку с этим добавленным.

3 голосов
/ 25 мая 2011

Сегодня я столкнулся с этой проблемой, поэтому я занимался исследованиями и разработками и нашел другой способ ее решения.document.readyState будет «завершен» после загрузки страницы, поэтому вы можете проверить его значение как.

 if(document.readyState=='complete')
 {
   //// call script or do anything which you want to do.
 }
1 голос
/ 08 февраля 2011

Пусть jQuery установит ссылки в ссылках в вашем документе .ready () Может быть, префикс ваших ссылок с «#», а jQuery вырезать их.

0 голосов
/ 08 февраля 2011

Вот решение, которое я разработал: Используя маску, расположенную перед ссылкой, чтобы предотвратить событие щелчка.

<div class="LinkMasker"></div>

.LinkMasker {
    position: absolute;
    z-index: 999;
    width: ...px;
    height: ...px;
}

После того, как загрузка страницы и мое событие зарегистрированы, я удаляю маску:

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