У меня есть тег, <a href="#"> Previous </a> 1 2 3 4 <a href="#"> Next </a>
и в некоторых случаях я хочу, чтобы этот тег был полностью отключен.
Код из комментариев (так создается ссылка)
if (n_index != n_pages)
a = a+'<li><a href="#" onclick="javascript:paginateAjaxPage('+(n_index+1) +','+stype+');">></a></li><li><a href="#" onclick="javascript:paginateAjaxPage('+n_pages+','+stype+');" >>></a></li>';
else
a = a+'<li><a style="cursor: pointer;" onclick="return false;">></a></li><li><a style="cursor: pointer;" onclick="return false" >>></a></li>';
a = a+'</ul></div>';
javascript
html
Воин
источник
источник
Ответы:
Попробуйте это, если вы не хотите, чтобы пользователь перенаправлял при нажатии
источник
<a href='javascript:;'>I am a shorter useless link</a>
?\t
, переводов строк\n
и пробелов, чтобы просто увидеть сложенный и красивый код (для кого? Браузер), а теперь беспокоитесь о 7 байтахvoid(0)
и / или;
о боже.Millions millions of tabs\t, line feeds\n and spaces
да, это упрощает понимание кода, в то время какvoid(0)
это не так. Поэтому его следует удалить или сделать как можно короче. Например, здесь короче - для понимания (чтения), а не для "сжатия" или байтовой экономии. :)вы можете отключить все ссылки на странице с помощью этого класса стиля:
теперь, конечно, трюк заключается в том, чтобы отключать ссылки только тогда, когда вам нужно, вот как это сделать:
используйте пустой класс A, например:
затем, когда вы хотите отключить ссылки, сделайте следующее:
ПРИМЕЧАНИЕ. В некоторых браузерах имена правил CSS преобразуются в нижний регистр, и этот код чувствителен к регистру, поэтому для этого лучше использовать имена классов в нижнем регистре.
для повторной активации ссылок:
проверьте эту страницу http://caniuse.com/pointer-events для получения информации о совместимости браузера
Я думаю, что это лучший способ сделать это, но, к сожалению, IE, как всегда, не позволит этого :) Я все равно публикую это, потому что я думаю, что он содержит информацию, которая может быть полезна, и потому что некоторые проекты используют известный браузер , например, когда вы используете веб-представления на мобильных устройствах.
если вы просто хотите деактивировать ОДНУ ссылку (я понимаю, что это был вопрос), я бы использовал функцию, которая вручную устанавливает URL-адрес текущей страницы или нет, в зависимости от этого условия. (как решение, которое вы приняли)
этот вопрос был НАМНОГО проще, чем я думал :)
источник
pointer-events:none;
я никогда не знал об этом теге, он очень пригодился!Вы можете просто дать ему пустой хеш:
или, если этого недостаточно для «отключения», используйте обработчик событий:
источник
1
если он будет добавлен позже.Попробуйте это с помощью jQuery:
источник
источник
Мне этот способ проще реализовать. И у него есть то преимущество, что вы js. Не внутри вашего html, а в другом файле. Я думаю, что без привязки. Оба события все еще активны. Точно сказать не могу. Но в каком-то смысле вам нужно только это одно событие
источник
unbind
необходимым? Я верюreturn false
илиe.preventDefault()
хватит.MDN рекомендует
element.removeAttribute(attrName);
установить для атрибута значение null (или другое значение), если вы хотите его отключить. В этом случае это было быelement.removeAttribute("href");
https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute
источник
Самый простой способ отключить ссылку - просто не показывать ее. Запускайте эту функцию всякий раз, когда вы хотите проверить, выполняется ли ваше условие, чтобы скрыть кнопку Назад (замените
if (true)
на свое условие):Затем запускайте
testHideNav()
каждый раз, когда вам нужно проверить, изменилось ли ваше состояние.источник
Вместо этого используйте диапазон и javascript onclick. Некоторые браузеры "прыгают", если у вас есть ссылка и "#" href.
источник
javascript: void(0);
илиjavascript:;
. Если вы выполняете рендеринг из Rails, просто визуализируйте промежуток там, где вы хотите его отключить.Это тоже возможно:
Ссылка никуда не денется, ваша функция будет выполнена.
источник
У меня была аналогичная потребность, но моей мотивацией было предотвратить двойное нажатие на ссылку. Я сделал это с помощью jQuery:
HTML выглядит так:
источник
Таким образом, приведенные выше решения делают ссылку неработающей, но не делают видимой (AFAICT), что ссылка больше не действительна. У меня есть ситуация, когда у меня есть серия страниц, и я хочу отключить (и сделать очевидным, что он отключен) ссылку, указывающую на текущую страницу.
Так:
Это просматривает список ссылок, находит ту, которая указывает на текущую страницу (n_root3 может быть локальной вещью, но я полагаю, что
document
должно иметь что-то подобное), и заменяет ссылку текстовым содержимым ссылки.HTH
источник
Спасибо вам всем...
Моя проблема решена с помощью кода ниже:
источник
Установите этот плагин для jquery и используйте его
http://plugins.jquery.com/project/jqueryenabledisable
Он позволяет отключать / включать практически любое поле на странице.
Если вы хотите открыть страницу при каком-либо условии, напишите функцию java-скрипта и вызовите ее из href. Если условие удовлетворено, вы открываете страницу, в противном случае ничего не делайте.
код выглядит так:
Вы также можете поместить ссылку в div и установить для свойства display атрибута Style значение none. это скроет div. Например,
Это скроет ссылку. Теперь используйте кнопку или изображение, чтобы сделать этот div видимым, вызвав эту функцию в onclick как:
Вы также можете поместить тег id в тег html, чтобы он был
И получите этот идентификатор в своем javascript, используя
Один из них наверняка сработает, ха-ха
источник
Другой способ отключить ссылку
тег привязки без href будет реагировать как отключенный / простой текст
вместо того
<a href="#"> with href </a>
см. jsFiddel
надеюсь, что это полезно.
источник
Вместо void вы также можете использовать:
источник
0) вам лучше помнить, что некоторые браузеры "прыгают", если у вас есть ссылка и "#" href. Так что лучшим способом будет собственный JavaScript
1) Если вам нужен собственный JavaScript , вот он:
2) Вы можете избежать использования следующих
или
Поскольку псевдопротокол javascript может переводить страницу в состояние ожидания в некоторых браузерах, что может иметь неожиданные последствия. IE6 известен этим. Но если вам наплевать на IE6 и вы все тестируете - это может быть хорошим решением.
3) Если у вас уже есть
jQuery
иbootstrap
в вашем проекте, вы можете изучить их так:где
.disabled
класс приходит из бутстрапа.Сайт начальной загрузки формы Qupte ( здесь )
и
custom JavaScript
был показан в разделе 1источник
Ниже код для отключенных ссылок:
еще одно очень простое решение:
Первое решение эффективно.
источник