Нужно ли использовать ‘#’ или ‘javascriptvoid(0)’ в href-атрибуте пустых ссылок


Оглавление (нажмите, чтобы открыть):

Javascript:vo >09.05.2020, 18:27. Просмотров 1285. Ответов 29

09.05.2020, 18:27

Передача параметров из form в iframe (action=’javascript: window.alert(this); void(0);’)
Добрый день. Я пытаюсь передать множество параметров из своей формы в Iframe. А точнее.

Вставка элементов меню (содержащих javascript) через javascript
Пишу курсовой проект по JavaScript в ходе которого потребовалось создать небольшой локальный сайт.

Как перезагрузить javascript, javascript-ом?
как с помощью javascript перезагрузить javascript ? Смысл в том что один из моих скриптов выполняет.

Return void
Добрый день! Нужно добавить один параметр к уже существующему,не хватает навыка, помогите! .

10.05.2020, 20:48 [ТС] 2 10.05.2020, 22:36 3 11.05.2020, 08:41 [ТС] 4
11.05.2020, 08:41
11.05.2020, 10:31 5
Javascript
Javascript
11.05.2020, 12:04 6
11.05.2020, 12:27 [ТС] 7

ссылка никуда не ведёт, поэтому превентить нечего

Добавлено через 2 минуты

11.05.2020, 12:45 8

Firework, не понимаю, к чему так извращаться, поэтому попросил Вас описать проблему.
если ссылка никуда не ведет, сделайте, чтоб вела href=»» и потом уже preventDefault

P.S. Вообще то, что Вы хотите сделать, а именно прописать JS внутри разметки — не очень то и хорошо. Разделяйте логику от отображения.

11.05.2020, 13:44 [ТС] 9
11.05.2020, 18:44 10
12.05.2020, 13:35 [ТС] 11
12.05.2020, 17:53 12
Javascript
12.05.2020, 18:27 13
12.05.2020, 19:01

вот и профи подтянулись 🙂

Меню пользователя @ Mr_Sergo
12.05.2020, 19:58 15

zlojnaxa, Часто вижу такой способ. Один из косяков это то, что пользователь может открыть ссылку в новой вкладке, хотя она никуда не ведет. Такое происходит и при preventDefault, если пользователь нажмет на колесико мыши к примеру. Считается такой метод не совсем корректным, и рекомендуется не использовать в таких случаях тег . Но большинство игнорируют эти рекомендации, так как это экономит время, что является достаточно важным фактором.

Добавлено через 24 минуты
Лично я спокойно к этому всему отношусь. При верстке некоторые проставляют void(0), я так понимаю для подстраховки. Это скорее дело вкуса и стиля верстальщика) Но в принципе вы же все равно будете навешивать какие-то обработчики. Я думаю, что preventDefault в любом случае нужно прописывать.

Использование ссылки для javascript: что лучше использовать в атрибуте href

Гость 0 06.03.2013
Цитировать
Гость 0 06.03.2013

Я использую javascript:void(0) по трем причинам:

1. Многие использующие # заглушку при вызове функции, в которой примерно такая структура:

function doFunction () <
//Некоторый код
return false;
>

Забывают обязательное return doFunction () в onclick и просто используют doFunction ().

2. Вторая причина, почему я избегаю # так как финальный return false; не произойдет, если в функции будут ошибки. Поэтому разработчики должны это помнить и проверять функцию на ошибки прежде ее вызова через onclick

3. И последняя причина, бывают случаи, когда свойство OnClick событие назначаются динамически. Я предпочитаю, иметь возможность вызвать функцию или назначение его динамически без кода функции специально для одного метода или другой. Поэтому моя OnClick (или другой способ вызова функции) в HTML-разметке выглядеть следующим образом:

onclick=»someFunc.call(this)»
или
onclick=»someFunc.apply(this, arguments)»

Используя javascript:void(0) позволяет избежать всех вышеперечисленные головные боли, и я не нашел ни одного недостатка при использовании javascript:void(0)

Форум

Справочник

Поиск по форуму
Расширенный поиск
К странице.

Почему — плохо

Сейчас общеизвестно, что не следует использовать псевдо-протокол javascript: , т.е писать:

Почему это плохо, и какие аналоги следует использовать?

Причина 1. Идеологическая причина

Псевдо-протокол javascript: давно устарел. Он поддерживается браузерами, но не описывается в веб-стандартах.


Впрочем, с другой стороны, на использовании javascript: построен ряд интересных технологий, например букмарклеты.

Причина 2. Отсутствие деградации

Если это возможно, лучше сделать такой вариант:

Те посетители, у которых javascript отключен, пройдут по ссылке на /openComment.php? >

Поисковики тоже проиндексируют /openCommend.php? >

Если ничего подобного такой страничке сделать нельзя, например, ссылка должна запускать AJAX-запрос, то не надо писать:

При нажатии на такую ссылку с отключенным javascript, человека кинет на начало страницы. Не есть гуд. Но какой-то href должен быть. Поэтому лучше сделать так:

Страница /nojs.html может, например, содержать просьбу включить javascript.

Причина 3. Недостатки интеграции

Свойством onclick гораздо удобнее управлять из javascript. Оно задает обработчик события. Можно делать несколько обработчиков, назначить функцию а не строку как в href , и т.п.

А псевдо-протокол javascript: — не событие. Он выпадает из общей схемы и потому неудобен.

P.S Строго говоря, и onclick внутри HTML не следует указывать. Отдельно должны идти разметка и javascript-код. Но иногда onclick — это удобно, так почему же нет..

Причина 4. Отрицательное юзабилити

Очень часто используют скрипт в ссылке, когда по клику нужно открыть картинку или описание продукта.

Так вот многие открывают эту ссылку в новой вкладке браузера и получают в адресе страницы «javascript:showPopup(27);», а не то, что они хотели увидеть.

Позитивное применение?

Если все же хочется, чтобы по клику на ссылку у посетителя с отключенным javascript ничего не произошло:

Может ли это быть полезно в реальной жизни?

Сам не использую, но другого способа сделать ссылку нерабочей для посетителей без JS не знаю.

принципиально отличается от

для пользователя с отключенным JavaScript? В чем позитивное применение?

  1. javascript:void() — сразу понятен смысл кода, в отличие от javascript:blablabla()
  2. Можно бы короче, типа , но например в Firefox такая ссылка открывает окно ошибок JS

Позитивное применение — в том, что такой href при отключенном js просто ничего не делает. И при этом не кидает кликнувшего на начало страницы как .

А вот так если: «javascript://»?

Лучше всего asdfasdf
И ничего не произойдет никуда не кинет и сработает только при включенном JS

a href=»#» — есть ложная ссылка, чтобы поставить «иллюминацию» на текст

Можно пользоваться и такими способами: print();

в отличии от #blabla
удобно тем что в строке статуса видно не https://. полный путь страницы. #blabla ,а короткая надпись javascript:blablabla
это одно из применений если ссылки js сам и создает

еше удобен в чтении кода, хотя и получается код мение поворотлив. там где используется подобный onclick оказалось проше разобраться в коде чем в том где события вешаются в глубине кода, что и усложняет изучение.

а мне вот нафиг не нужно чтоб кто то там.. ковырялсяразбирался/читал в моем коде! где и что лежит, и как все устроено, это мое дело и я сам знаю где что! Главное, работает.. вот и хорошо!

идиот. тогда и шаблоны проектирования не нужны. и спагетти код тогда по вашему рулит.

правильно писать:
javascript:void()

прочёл. нечего не понял. в чём отличия.

пойду ещё раз прочитаю.

Объясните зеленому, если javascript отключен, то по ссылке нужно перейти на другую страницу, а если включен то должен запуститься «AJAX» запрос и подгрузиться новые данные.
Как лучше это реализовывать?

Ты статью то прочитал? Там же есть пример —

В href помещаешь ссылку на страницу при выключенном javascript, а в onclick — функцию, вызывающую твой запрос.

я иногда пишу пишу href=»javascript:;»

href=»javascript:;»
а теперь запусти сие чудо на ИЕ7

ну я практически всегда пишу так, и работает везде, ну по крайней мере у меня во всех браузерах.

Если я ничего не путаю, . в IE все равно вызывает артефакты, связанные с переходом в состояние «ожидание загрузки» — в частности, убивает gif-анимацию, динамические эффекты с картинками (ролловеры) и т.п. На Винграде была пара тем, где народ реально наступал на эти грабли. Так что я бы не советовал так делать нерабочие без JS ссылки, уж лучше, имхо, что-то вроде

Либо навешивать href-ы динамически по загрузке DOM-а.

А для примера осмысленного применения javascript:-протокола (помимо букмарклетов), я бы скорее привел это.

Науверняка многим будет интересно узнать больше о Букмарклетах, я собрал ссылки наиболее содержательные по этой теме:

спасибо помогло избавиться от #

А если не писать вообще href=»», а просто

Если не писать аттрибут href тогда
1) тег а будет не валидным
2) он не будет отображатсья как ссылка, а просто как тектсовый элемент и не будет изменен курсор

Если прописать в css чтобы менялся курсор и цвет то будет

насколько я помню, в ие 6,7 hover работает только на ссылках, в которых обязательно должно быть href


Если вы не хотите, что бы без яваскрипта человек куда-то шёл, зачем использовать

Если яваскрипт включен — при клике событие и на диве пройдёт, если нет — у нас не будет ссылки, а будет див, оформленный под ссылку. На мой взгляд, наиболее логичный вариант

предыдущий пост мой, тут исправленая версия

PS. сорри предыдущий мой пост некорректно получился.

Если в ссылке нет урла, то поисковикам на эту ссылку насрать, они ее игнорируют, либо изъясняйтесь правильно, либо не пудрите людям мозг

полностью согласен, тут человек хоронить псевдо протокол собрался, так как не понимает, что кому то он нужен. а они такой трёп по такой пустяковой проблеме развели. Будто бы, кого то из них хоть раз кто то из за этого поддр.

А вообще нет ссылки, нет проблемы.

Нет сайта — нет проблемы, имхо)

Но без этого протокола иногда обойтись довольно трудно. Как, например, мне из дельфы заставить TWebBrowser выполнить некий яваскрипт без Navigate(‘javascript. ‘)? Если знаете лучшие варианты, поделитесь, пожалуйста.

Точно-точно! Особенно если надо, чтобы на странице что-то происходило при событиях, происходящих в программе, а не на странице! Рано хоронят эту технологию… Впрочем, как и многие другие!

To rem lex:
И чем же же плох href=»javascript:;»? У меня IE7, всё нормально. Просто нерабочая ссылка. Может у Вас какие-то апдейты не установлены?

Попробуем:)
Понятно, зачем в последней инструкции нужен оператор void?

А, поскольку псевдопротокол относится к объекту location, то и this будет ссылаться на window. Очень удобно, не так ли? )

this всегда ссылается на window, если не задан принудительно.

угу, похоже что если необходимо использовать именно А, удобнее всего создавать дополнительно рядом якорь, пасибо за идею

Якоря никогда не устареют
Как и , .

У кого усторела, а у кого нормально и стабильно работает.
Автору запретить использовать псевдо протокол и наме, всем остальным халява)

А что Вам мешает использовать такой вариант?

а в бекенде сделать такой же обработчик:

Мне кажется, это наиболее правильный из все вариантов.
При таком использовании достигается максимум разделения и максимум валидности.
1) HTML содержит только HTML
2) JS линкуется отдельно в и возможно в или что-либо на ваше усмотрение, что будет его запускать. В результате мы получаем практически отсутствующий inline-js.
3) Таким же образом делается и CSS.
4) Бекенд часть с радостью сделает ряд функций, за Вас позволяя не использовать подобные «загрязняющие» конструкции в Вашем Html:
document.write. etc

Мне кажется, подобный подход наиболее облегчает жизнь при web-разработке.

.
2) JS линкуется отдельно в » » и возможно в или .
.
4) .

2) JS линкуется отдельно в » » и возможно в » » или .

Дак я что то не понял..
если javascript: это плохо..
почему тогда хорошо использовать? javascript:void(0) ?
и почему он работает при отключённом js ?

По-моему самый лучший варинат.
a href=»/reg.php» onclick=»Reg(); return false;»Зарегистрироваться/a

Что всё таки сие значит в теории? Код взят с nigma.ru . Здесь упоминали о такой форме — с слэшами но так и не обьяснили различия между вариантами.

a href=»javascript://» onclick=»reset_all(0); return false;»>сбросить

Не используйте onclick — в больших проектах это может привести к каше. Существуют евенты. Они были созданы специально для этих целей. Используйте void(0) и забейте на пользователей, у которых отключен JS. Поверьте, если сайт ваш интересный, вы ничего не потеряете.

Илья, думаю что стоит добавить об этом в статью

Есть еще один (вроде, еще не описанный выше) минус ссылок с протоколом javascript: — на некоторых сайтах нет никакого визульного различия между ссылками обычными и «яваскриптовыми» (хотя уже и принято последние подчеркивать пунктирно). И иногда хочется, чтобы не потерять данные формы, открыть ссылку в новом окне. Новое окно открывается на ура, но с урлом типа «javascript:doSomethingGood();void(0)», и, естественно, ничего полезного не происходит, потому что в новом окне-то эта функция не определена.

Какой смысле использовать ссылку не используя при этом ее атрибут href. Если нужно какое-то действие скриптовое выполнить, то намного логичнее его привязать к тегу button или span, оформив их при помощи стилей подчеркиванием или чем-то типа этого.
На самом деле использование javascsript в href имеет еще один отрицательный момент (я не заметил, чтобы его указали здесь). Очень часто используют скрипт в ссылке, когда по клику нужно открыть картинку или описание продукта. Так вот многие открывают эту ссылку в новой вкладке браузера и получают в адресе страницы «javascript:showPopup(27);», а не то, что они хотели увидеть.
Проверка на работу javascript — это вообще весьма странная вещь. На большинстве сайтов, например, такие пользователи никогда не смогут попасть в подменю. Осуществлять иную навигацию. В общем это сродни проверки на «отключение монитора».

А про flash. Там вообще fscommand есть и целый интерфейс для работы со страницей.

зачем пишется return false; в onclick?

Как по мне лучше так:

«#send_message» лучше писать чем «#» с двух причин:
1. пользователь может увидеть в статусе ету подсказку и лучше понять что делает ета кнопка
2. при ошыбке браузер не кинет в верх страницы

Не знаю, говорилось ли здесь, я не заметил. Еще одна причина, чтобы так делать — это скрытие от показа на window.status текста ссылки, потому что они бывают очень неприглядными, как в моем случае, когда сами ссылки генерируются скриптом и имеют много разных параметров.

Привет всем!
У меня тут затык с использованием link
в ИЕ7 а именно тогда когда страничка загруженна по протоколу https://

Вобшем при клике вылазит ошибка.
Может кто подскажет что же юзать. # не предлагать

Всем спасибочки заранее.

А как привязать событие к действию пользователя, когда он нажимает на ссылке правую кнопку мыши и выбирает «открыть в новой вкладке»?

Поддерживаю lnked. Если по какой-то причине функцию не удалось выполнить (логическая ошибка), просто возвращаем return true. А на страничке, на которую перенаправило пользователя, уже пишем ошибку.

набирая в адресной строке javascript: . удобно переопределять исследуемые функции «на лету», вносить туда отладочный код или менять на свое усмотрение, проблемой для этого можеть быть сам броузер, chrome, например следит за длинной кода в строке и отправляет в поиск если что.

Да. много копий сломали!
А ведь можно просто:

Пустой href перезагружает страницу, тащемта.

С андроида это все возможно делать?
На одном сайте видел как такую ссылку писал Аднин, но она у него не получилась) остался только текст.
Захотелось научиться самому

А стоит ли заботиться о пользователях, у которых отключен JS?

Привет!! у меня куда -то исчезла возможность включить/отключить javascript в файерфоксе. Раньше нажимала настройки- настройки и тут можно было поставить или убрать галочку. сейчас этого нет когда захожу в настройки. Что делать пожалуйста скажите?

Убрали эту возможност в firefox.
Сделать можно через about:config, а вам это надо?

Единственно правильным тут одно — запретить возможность отключать JavaScript во всех браузерах. Ведь это означает то, что пользователь сознательно хочет разрушить всю его функциональность и при этот на кого-то жалуется. Многие сайты построены на JavaScript наполняются ими и функционирую именно благодаря JavaScript. Поэтому отключение JavaScript всё равно что отключение интернета или браузера. И если включен браузер и включен интернет. то и JavaScript должен быть включен. Вы же не отключаете CSS, не так ли? Не отключаете Ajax хотя он работает через JavaScript. ) И поему вообще тогда такой вопрос ставится непонятно? А что принято, то принято идиотами! Функция же href=’javascript:some_function’ прекрасно работает и почему ей не пользоваться только кто-то чего-то там сказал так же непонятно! Особенно если вы уже понавставляли кругом ссылок. Хотите переделайте на кнопки. Только это уже идиотизм, зачем ломать то, что и так хорошо работает? Однако учтите, что в кнопках тоже ссылки на функции, которые также на том же JavaScript. Это неотьемлеая часть сайта, если он конечно не совсем примитивный

Что ты такое говоришь.
Java Script у клиентов, а если нужно обратится на серверной стороне к другому сайту. На сервере js не работает. Такие ситуации тоже относятся к тем кто хочет разрушить функционал js.
Все поисковики именно так и работают, когда индексируют сайты. Они обращаются к сайту и им нафиг не нужен js, так же как и css.

Почему не стоит использовать?
Ну вот напишешь ты href=’javascript:some_function. Ну проиндексирует поисковик твой сайт. Увидит кучу ссылок на несуществующие страницы, ну и будет твой сайт на последней странице поисковика сидеть, какой бы он красивый не был.


Запретить не запретить это дело каждого пользователя, мене например не нравится когда отключают возможность копировать текст со страницы или при нажатии на ссылку открывается куча всплывающие окон, по этому для нескольких сайтов я отключаю js.

У меня на днях был случай, когда при обработчике клика, назначенном в JS-коде(использовался ExtJS), нужно было отменить переход по ссылке.
Самым естественным решением оказалось

здорово. Будем читать дальше

Пользователи, у которых нет в браузерах JS, а также сидящие на IE7- отправляются прямиком в геенну огненную. (вроде в писании так было сказано ).
По сабжу, имхо лучше делать отдельный див с предупреждением, вверху страницы, видимый только если у пользователя браузер без js, либо ИЕ7. Потому что на таких динозаврах будут ОДНОЗНАЧНО глючить не только ссылки. И под каждую ошибку писать свою страницу с показом ошибки, это, ну скажем, глупо.

Отличные изыскания, спасибо.

Не смотря на все недостатки иногда приходится использовать такой подход 🙁

стремно тут у вас. воняет неебацо. одни сука вонючки

Я рад, что этот пост очень полезен для меня, так как он содержит много информации. Я всегда предпочитаю читать качественный контент и эту вещь. happy wheels

Какое значение «href» следует использовать для ссылок на JavaScript, «#» или «javascript: void (0)»?

3784 2cBGj7vsfp [2008-09-25 20:54:00]

Ниже приведены два метода построения ссылки, которая имеет единственную цель запуска JavaScript-кода. Что лучше, с точки зрения функциональности, скорости загрузки страницы, целей проверки и т.д.?

performance optimization javascript html href

52 ответа

Я использую javascript:void(0) .

Три причины. Поощрение использования # среди команды разработчиков неизбежно приводит к некоторому использованию возвращаемого значения функции, называемой так:

Но затем они забывают использовать return doSomething() в onclick и просто использовать doSomething() .

Вторая причина избегать # заключается в том, что окончательный return false; не будет выполняться, если вызываемая функция выдает ошибку. Следовательно, разработчики должны также помнить, что надлежащим образом обрабатывать любую ошибку в вызываемой функции.

Третья причина заключается в том, что бывают случаи, когда свойство события onclick назначается динамически. Я предпочитаю иметь возможность вызывать функцию или назначать ее динамически без необходимости кодирования функции специально для одного метода вложения или другого. Следовательно, my onclick (или на чем-либо) в разметке HTML выглядит следующим образом:

Использование javascript:void(0) позволяет избежать всех вышеупомянутых головных болей, и я не нашел примеров недостатков.

Итак, если вы одинокий разработчик, вы можете сделать свой собственный выбор, но если вы работаете в команде, вам нужно либо указать:

Используйте href=»#» , убедитесь, что onclick всегда содержит return false; в конце, что любая вызываемая функция не выдает ошибку и если вы динамически присоединяете функцию к свойству onclick , убедитесь, что так же, как и не выдавая ошибку, он возвращает false .

Во-вторых, гораздо проще общаться.

1230 Aaron Wagner [2008-09-25 21:09:00]

Если вы можете иметь фактический URL-адрес, который имеет смысл использовать это как HREF. Onclick не будет срабатывать, если кто-то нажимает на вашу ссылку, чтобы открыть новую вкладку, или если у них отключен JavaScript.

Если это невозможно, вы должны, по крайней мере, вставить якорный тег в документ с помощью JavaScript и соответствующих обработчиков событий кликов.

Я понимаю, что это не всегда возможно, но, на мой взгляд, ему следует стремиться к разработке любого общедоступного веб-сайта.

750 balupton [2012-02-25 05:08:00]

Выполнение Link или Link или что-либо еще, содержащее атрибут onclick , было в порядке назад пять лет назад, хотя теперь это может быть плохой практикой. Вот почему:

Это способствует практике навязчивого JavaScript — что оказалось трудно поддерживать и сложно масштабировать. Подробнее об этом в Ненавязчивый JavaScript.

Вы тратите свое время на создание невероятно сложного подробного кода, который очень мало (если таковой имеется) приносит пользу вашей кодовой базе.

Теперь есть лучшие, более простые и удобные и масштабируемые способы достижения желаемого результата.

Ненавязчивый JavaScript-способ

Просто не имеет атрибута href вообще! Любой хороший CSS reset будет следить за отсутствующим стилем курсора по умолчанию, так что это не проблема. Затем добавьте свои функции JavaScript, используя изящные и ненавязчивые передовые методы, которые более удобны в обслуживании, поскольку ваша логика JavaScript остается в JavaScript, а не в вашей разметке, что необходимо при разработке широкомасштабных приложений JavaScript, которые требуют, чтобы ваша логика была разделена на черные компоненты и шаблоны. Подробнее об этом в Крупномасштабная архитектура приложений JavaScript

Пример простого кода

Черное окно Пример Backbone.js

Для примера масштабируемого, черного ящика, компонента Backbone.js — см. здесь рабочий пример jsfiddle. Обратите внимание на то, как мы используем ненавязчивые методы работы с JavaScript, а в небольшом количестве кода есть компонент, который может повторяться на странице несколько раз без побочных эффектов или конфликтов между различными экземплярами компонентов. Потрясающе!

Примечания

Опускание атрибута href в элементе a приведет к тому, что элемент не будет доступен с помощью навигации по клавише tab . Если вы хотите, чтобы эти элементы были доступны с помощью клавиши tab , вы можете установить атрибут tabindex или вместо него использовать button . Вы можете легко стилизовать элементы кнопки, чтобы они выглядели как обычные ссылки, как указано в ответ Tracker1.

Какое значение «href» я должен использовать для ссылок JavaScript, «#» или «javascript: vo >

Ниже приведены два метода построения ссылки, которая имеет единственную цель запуска JavaScript-кода. Что лучше, с точки зрения функциональности, скорости загрузки страницы, целей проверки и т.д.?

54 ответа

Я использую javascript:void(0) .

Три причины. Поощрение использования # среди команды разработчиков неизбежно приводит к некоторому использованию возвращаемого значения функции, называемой так:

Но затем они забывают использовать return doSomething() в onclick и просто использовать doSomething() .

Вторая причина избегать # заключается в том, что окончательный return false; не будет выполняться, если вызываемая функция выдает ошибку. Следовательно, разработчики должны также помнить, что надлежащим образом обрабатывать любую ошибку в вызываемой функции.

Третья причина заключается в том, что бывают случаи, когда свойство события onclick назначается динамически. Я предпочитаю иметь возможность вызывать функцию или назначать ее динамически без необходимости кодирования функции специально для одного метода вложения или другого. Следовательно, my onclick (или на чем-либо) в разметке HTML выглядит следующим образом:

Использование javascript:void(0) позволяет избежать всех вышеупомянутых головных болей, и я не нашел примеров недостатков.

Итак, если вы одинокий разработчик, вы можете сделать свой собственный выбор, но если вы работаете в команде, вам нужно либо указать:

Используйте href=»#» , убедитесь, что onclick всегда содержит return false; в конце, что любая вызываемая функция не выдает ошибку и если вы динамически присоединяете функцию к свойству onclick , убедитесь, что так же, как и не выдавая ошибку, он возвращает false .

Во-вторых, гораздо проще общаться.

Если вы можете иметь фактический URL-адрес, который имеет смысл использовать это как HREF. Onclick не будет срабатывать, если кто-то нажимает на вашу ссылку, чтобы открыть новую вкладку, или если у них отключен JavaScript.

Если это невозможно, вы должны, по крайней мере, вставить якорный тег в документ с помощью JavaScript и соответствующих обработчиков событий кликов.


Я понимаю, что это не всегда возможно, но, на мой взгляд, ему следует стремиться к разработке любого общедоступного веб-сайта.

Выполнение Link или Link или что-либо еще, содержащее атрибут onclick , было в порядке назад пять лет назад, хотя теперь это может быть плохой практикой. Вот почему:

Это способствует практике навязчивого JavaScript — что оказалось трудно поддерживать и сложно масштабировать. Подробнее об этом в Ненавязчивый JavaScript.

Вы тратите свое время на создание невероятно сложного подробного кода, который очень мало (если таковой имеется) приносит пользу вашей кодовой базе.

Теперь есть лучшие, более простые и удобные и масштабируемые способы достижения желаемого результата.

Ненавязчивый JavaScript-способ

Просто не имеет атрибута href вообще! Любой хороший CSS reset будет следить за отсутствующим стилем курсора по умолчанию, так что это не проблема. Затем добавьте свои функции JavaScript, используя изящные и ненавязчивые передовые методы, которые более удобны в обслуживании, поскольку ваша логика JavaScript остается в JavaScript, а не в вашей разметке, что необходимо при разработке широкомасштабных приложений JavaScript, которые требуют, чтобы ваша логика была разделена на черные компоненты и шаблоны. Подробнее об этом в Крупномасштабная архитектура приложений JavaScript

Пример простого кода

Черное окно Пример Backbone.js

Для примера масштабируемого, черного ящика, компонента Backbone.js — см. здесь рабочий пример jsfiddle. Обратите внимание на то, как мы используем ненавязчивые методы работы с JavaScript, а в небольшом количестве кода есть компонент, который может повторяться на странице несколько раз без побочных эффектов или конфликтов между различными экземплярами компонентов. Потрясающе!

Примечания

Опускание атрибута href в элементе a приведет к тому, что элемент не будет доступен с помощью навигации по клавише tab . Если вы хотите, чтобы эти элементы были доступны с помощью клавиши tab , вы можете установить атрибут tabindex или вместо него использовать button . Вы можете легко стилизовать элементы кнопки, чтобы они выглядели как обычные ссылки, как указано в ответ Tracker1.

Нужно ли использовать ‘#’ или ‘javascript:void(0)’ в href-атрибуте пустых ссылок?

Чем можно их заменить?

Будет ли правильно ли просто добавить rel=»nofollow»? или заменить href=#?

Или есть другой вариант?

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

pol-nk 200

  • Гуру
  • Members
  • 200
  • 675 публикаций
  • Из Сочи
  • Специализация: SEO

закрой в роботсе индексацию джавы

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

TBicTep 59

  • Бывалый
  • Members
  • 59
  • 148 публикаций
  • Специализация: Вебмастер

Никакие это не внешние ссылки.

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

Drelatus 16

  • Местный
  • Members
  • 16
  • 97 публикаций
  • Специализация: SEO


закрой в роботсе индексацию джавы

Сколько раз можно повторять, в роботсе не нужно закрывать индексацию.Она должна быть открыта

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

pol-nk 200

  • Гуру
  • Members
  • 200
  • 675 публикаций
  • Из Сочи
  • Специализация: SEO

Сколько раз можно повторять, в роботсе не нужно закрывать индексацию.Она должна быть открыта

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

BuHoBeH 952

  • Справедливый
  • VIP
  • 952
  • 1,729 публикаций
  • Специализация: Вебмастер

Есть ещё варианты?

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

zenn 266

  • Гуру
  • Members
  • 266
  • 531 публикация
  • Из Крым, Керчь
  • Специализация: Программист

Есть ещё варианты?

А какие еще варианты то могут быть? Это не внешняя ссылка, но если в вас резко проснулся перфекционист (не видя всего вашего кода обработчика — css селекторов и javascript) самый простой вариант — заменить на «нулевой якорь»:

Скорей всего у вас используется javascript:void(0) в href т.к. этот атрибут обязателен, и если он не указан — произойдет обновление текущей страницы по клику.

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

BuHoBeH 952

  • Справедливый
  • VIP
  • 952
  • 1,729 публикаций

  • Специализация: Вебмастер

Никакие это не внешние ссылки.

Это не внешняя ссылка.

Но почему то pr-cy.ru считает её внешней ссылкой, и не удивлюсь что и ПС считают.

Поделиться сообщением

Ссылка на сообщение
Поделиться на других сайтах

zenn 266

  • Гуру
  • Members
  • 266
  • 531 публикация
  • Из Крым, Керчь
  • Специализация: Программист

Но почему то pr-cy.ru считает её внешней ссылкой, и не удивлюсь что и ПС считают.

Ну да, void(0) вернет undefined объект, который все сразу же занесут в хар-ку внешней ссылки. [сатира]

Какое значение «href» следует использовать для ссылок на JavaScript, «#» или «javascript: vo >

Ниже приведены два метода построения ссылки, которая имеет единственную цель для запуска кода JavaScript. Что лучше, с точки зрения функциональности, скорости загрузки страницы, проверки и т. Д.?

50 ответов

Я использую javascript:void(0) .

Три причины. Поощрение использования # среди команды разработчиков неизбежно приводит к тому, что некоторые используют возвращаемое значение функции, называемой так:

Но затем они забывают использовать return doSomething() в onclick и просто использовать doSomething() .

Вторая причина для избежания # состоит в том, что окончательный return false; не будет выполняться, если вызываемая функция выдает ошибку. Следовательно, разработчики также должны помнить, что надлежащим образом обрабатывать любую ошибку в вызываемой функции.

Третья причина заключается в том, что бывают случаи, когда свойство события onclick назначается динамически. Я предпочитаю иметь возможность вызывать функцию или назначать ее динамически без необходимости кодирования функции специально для одного метода вложения или другого. Следовательно, мои onclick (или на что-либо) в разметке HTML выглядят следующим образом:

Использование javascript:void(0) позволяет избежать всех вышеупомянутых головных болей, и я не нашел примеров недостатков.

Поэтому, если вы одинокий разработчик, вы можете сделать свой собственный выбор, но если вы работаете в команде, вам нужно либо указать:

Используйте href=»#» , убедитесь, что onclick всегда содержит return false; в конце, что любая вызываемая функция не выдает ошибку, и если вы динамически присоединяете функцию к свойству onclick убедитесь, что так же, как и не выбрасывать ошибку, она возвращает false .

Во-вторых, гораздо легче общаться.

Если вы можете иметь фактический URL, который имеет смысл использовать это как HREF. Onclick не будет срабатывать, если кто-то нажимает на вашу ссылку, чтобы открыть новую вкладку, или если у них отключен JavaScript.

Если это невозможно, вы должны, по крайней мере, вставить якорный тег в документ с помощью JavaScript и соответствующих обработчиков событий кликов.

Я понимаю, что это не всегда возможно, но, на мой взгляд, нужно стремиться к разработке любого общедоступного веб-сайта.

Выполнение Link или Link или что-то еще, что содержит атрибут onclick было в порядке обратно пять лет назад, хотя теперь это может быть плохой практикой. Вот почему:

Это способствует практике навязчивого JavaScript — что оказалось трудно поддерживать и трудно масштабировать. Подробнее об этом в ненавязчивом JavaScript .

Вы тратите свое время на создание невероятно сложного подробного кода, который очень мало (если таковой имеется) приносит пользу вашей кодовой базе.

Теперь лучшие, более простые и удобные и масштабируемые способы достижения желаемого результата.

Незаметный способ JavaScript

Просто нет атрибута href ! Любой хороший сброс CSS будет заботиться о отсутствующем стиле курсора по умолчанию, так что это не проблема. Затем добавьте свои функции JavaScript, используя изящные и ненавязчивые передовые методы, которые более удобны в обслуживании, поскольку ваша логика JavaScript остается в JavaScript, а не в вашей разметке, что необходимо при разработке широкомасштабных приложений JavaScript, которые требуют, чтобы ваша логика была разделена на черные компоненты и шаблоны. Подробнее об этом в крупномасштабной архитектуре приложений JavaScript

Пример простого кода

Пример Blackbed Backbone.js

Для масштабируемого, чернокожего компонента компонента Backbone.js — см. Здесь рабочий пример jsfiddle . Обратите внимание на то, как мы используем ненавязчивые методы работы с JavaScript, а в небольшом количестве кода есть компонент, который может повторяться на странице несколько раз без побочных эффектов или конфликтов между различными экземплярами компонентов. Удивительно!

Заметки

Опущение атрибута href на элементе a приведет к тому, что элемент не будет доступен с помощью tab клавиш навигации. Если вы хотите, чтобы эти элементы были доступны через ключ tab , вы можете установить атрибут tabindex или вместо него использовать button элементов. Вы можете легко стилизовать элементы кнопок, чтобы они выглядели как обычные ссылки, как указано в ответе Tracker1 .

Нужно ли использовать ‘#’ или ‘javascript:void(0)’ в href-атрибуте пустых ссылок?

В одной из конкурсных работ после каждого раздела на длинной странице поставлена внутренняя ссылка (якорь):

Да, это правильное решение. Есть только две рекомендации.

  • Первая касается дизайна. Такие ссылки кажутся не слишком понятными, когда расположены среди текста на странице. Их лучше выносить на поле слева от текста в виде текстовой ссылки вверх или в виде ссылки-картинки с изображением стрелочки, направленной вверх (в отличие от изображения домика, который обозначает ссылку на главную страницу). Дополнительная рекомендация: рисуйте домик так, чтобы он был на самом деле похож на домик, а стрелочка — на стрелочку.
  • Второе замечание касается навигации. Якоря усложняют движение по кнопке Назад браузера. Нажав эту кнопку, пользователь ожидает попасть на предыдущую страницу, но браузер “пятится” по якорям-ссылкам на текущей странице. Если якоря щелкались часто, браузер будет долго по ним прыгать, и пользователь перестает понимать: то ли он уже на предыдущей странице, то ли все еще на текущей.

Для навигационного действия “на начало” можно легко обойтись без якоря, заменив его скроллом в начало страницы. Правда, для этого придется воспользоваться функцией окна scroll , написав маленький код на JavaScript. Но это, действительно, очень маленький и простой код:

Здесь:

  • href =»javascript:void(0)» — задает “пустую” ссылку;
  • onclick =»scroll(0,0)» — задает скролл в начало при щелчке по тегу.


Описанный код отображается на странице так:

Атрибут onclick задает действие, которое должен выполнить браузер при щелчке пользователя по образу тега на экране. Значением атрибута в нашем случае является вызов стандартной функции scroll(0,0) . Эта функция задает перемещение окна в нужные координаты (в записанном коде — в начало страницы, как по горизонтали, так и по вертикали). Вместо текстовой ссылки можно использовать рисованную кнопку:

Ниже изображен пример такой навигационной кнопки, расположенной в одной строке с адресом автора.

ссылку Какое значение «href» следует использовать для ссылок на JavaScript, «#» или «javascript: void(0)»?

заглушка на ссылку (24)

Я согласен с предложениями в другом месте, заявляя, что вы должны использовать обычный URL-адрес в атрибуте href , а затем вызвать некоторую функцию JavaScript в onclick. Недостатком является то, что они автоматически добавят return false после вызова.

Проблема с этим подходом заключается в том, что если функция не будет работать или возникнет какая-либо проблема, ссылка станет непривлекательной. Событие Onclick всегда будет возвращать false , поэтому обычный URL-адрес не будет вызываться.

Там очень простое решение. Пусть функция возвращает true если она работает правильно. Затем используйте возвращаемое значение, чтобы определить, нужно ли отменять клик или нет:

JavaScript

HTML

Обратите внимание, что я doSomething() результат функции doSomething() . Если это сработает, оно вернет true , поэтому оно будет отменено ( false ), а path/to/some/URL не будет вызываться. Если функция вернет false (например, браузер не поддерживает что-то, используемое в этой функции, или что-то еще не работает), оно отрицается значением true и вызывается path/to/some/URL .

Ниже приведены два метода построения ссылки, которая имеет единственную цель для запуска кода JavaScript. Что лучше, с точки зрения функциональности, скорости загрузки страницы, проверки и т. Д.?

Это короче javascript: void (0) и делает то же самое.

Если вы не пишете ссылку с помощью JavaScript (так, чтобы вы знали, что она включена в браузере), вы должны в идеале предоставить правильную ссылку для людей, которые просматривают с отключенным JavaScript, а затем запрещают действие по умолчанию ссылки в вашем onclick обработчик события. Таким образом, функции с включенным JavaScript будут запускать эту функцию, а те, у кого отключен JavaScript, перейдут на соответствующую страницу (или местоположение на той же странице), а не просто на ссылку и ничего не произойдет.

Первый, в идеале, с реальной ссылкой, если пользователь отключил JavaScript. Просто обязательно верните false, чтобы предотвратить событие щелчка при запуске, если выполняется JavaScript.

Если вы используете Angular2, этот способ работает:

См. Здесь https://.com/a/45465728/2803344

Я хотел бы использовать:

Причины:

  1. Это делает href простым, поисковые системы ему нужны. Если вы используете что-либо еще (например, строку), это может привести к ошибке 404 not found .
  2. Когда мышь наводится на ссылку, она не показывает, что это сценарий.
  3. Используя return false; , страница не переместится в верхнюю часть или не сломает кнопку « back .

Или вы можете изменить атрибут href с помощью JavaScript, например:

или же

Но семантически все вышеизложенные способы достижения этого неверны (хотя это хорошо работает) . Если какой-либо элемент не создан для перемещения по странице и имеет некоторые связанные с ним вещи JavaScript, то он не должен быть тегом .

Вы можете просто использовать вместо того, чтобы делать что-либо или любой другой элемент, такой как b, span или любой другой, подходящий там, в зависимости от ваших потребностей, потому что вам разрешено добавлять события во все элементы.

И в конце, если вы привязываете событие к самому JavaScript-коду, вы можете сделать event.preventDefault() чтобы достичь этого, если используете тег , но если вы не используете тег для это, там вы получаете преимущество, вам не нужно это делать.

Итак, если вы видите, лучше не использовать тег для такого рода вещей.

Я попробовал как в google хром с инструментами разработчика, так и взял 0,32 секунды. Хотя javascript:void(0) метод занял всего 0,18 секунды. Так что в google chrome javascript:void(0) работает лучше и быстрее.

Если нет, href возможно, нет причин использовать тег привязки.

Вы можете прикреплять события (щелчок, наведение и т. Д.) Почти на каждом элементе, так почему бы просто не использовать a span или a div ?

И для пользователей с отключенным JavaScript: если нет резервной копии (например, альтернативы href ), они должны по крайней мере не иметь возможности видеть и взаимодействовать с этим элементом вообще, независимо от того, что это или тег.

Я выбираю использовать javascript:void(0) , потому что это может помешать щелчку правой кнопкой мыши, чтобы открыть меню содержимого. Но javascript:; короче и делает то же самое.

Не используйте ссылки с единственной целью запуска JavaScript.

Использование href = «#» прокручивает страницу вверху; использование void (0) создает навигационные проблемы в браузере.

Вместо этого используйте элемент, отличный от ссылки:

И стиль его с помощью CSS:

Определенно hash ( # ) лучше, потому что в JavaScript это псевдосхема:

  1. загрязняет историю
  2. создает новую копию движка
  3. работает в глобальном масштабе и не поддерживает систему событий.

Конечно, «#» с обработчиком onclick, который предотвращает действие по умолчанию, [намного] лучше. Более того, ссылка, которая имеет единственную цель для запуска JavaScript, на самом деле не является «ссылкой», если вы не отправляете пользователя на какой-нибудь разумный якорь на странице (просто # отправит на верх), когда что-то пойдет не так. Вы можете просто имитировать внешний вид ссылки со стилем и забыть о href вообще.

Кроме того, в отношении предложения cowgod, в частности, это: . href=»javascript_required.html» onclick=». Это хороший подход, но он не различает сценарии с отключенным JavaScript и сценарием onclick.

В зависимости от того, что вы хотите выполнить, вы можете забыть onclick и просто использовать href:

Это связано с необходимостью вернуть ложь. Мне не нравится этот # параметр, потому что, как уже упоминалось, он переместит пользователя в начало страницы. Если у вас есть где-то еще, чтобы отправить пользователя, если у них нет включенного JavaScript (что редко, когда я работаю, но очень хорошая идея), то предложенный Стив метод отлично работает.

Наконец, вы можете использовать, javascript:void(0) если вы не хотите, чтобы кто-то куда-то отправился, и если вы не хотите вызывать функцию JavaScript. Он отлично работает, если у вас есть образ, с которым вы хотите, чтобы событие mouseover происходило с ним, но для пользователя нечего делать.

Если вы можете иметь фактический URL, который имеет смысл использовать это как HREF. Onclick не будет срабатывать, если кто-то нажимает на вашу ссылку, чтобы открыть новую вкладку, или если у них отключен JavaScript.

Если это невозможно, вы должны, по крайней мере, вставить якорный тег в документ с помощью JavaScript и соответствующих обработчиков событий кликов.

Я понимаю, что это не всегда возможно, но, на мой взгляд, нужно стремиться к разработке любого общедоступного веб-сайта.

Я бы честно не предлагал ни того, ни другого. Я использовал бы стилизованную для этого поведения.

Таким образом вы можете назначить свой onclick. Я также предлагаю привязать скрипт, не используя атрибут onclick для тега элемента. Единственный полученный текст — текстовый эффект psuedo в старых IE, который нельзя отключить.

Если вы ДОЛЖНЫ использовать элемент A, используйте javascript:void(0); по уже упомянутым причинам.

  • Всегда будет перехватываться в случае сбоя события onclick.
  • Не будет иметь ошибочных вызовов загрузки или вызвать другие события, основанные на изменении хеша
  • Хэш-тег может вызвать непредвиденное поведение, если щелчок падает (onclick throws), избегая его, если это не является подходящим поведением, и вы хотите изменить историю навигации.

ПРИМЕЧАНИЕ. Вы можете заменить 0 на строку, такую ​​как javascript:void(‘Delete record 123’) которая может служить дополнительным индикатором, который покажет, что будет делать клик.

Использование только # делает некоторые смешные движения, поэтому я бы рекомендовал использовать #self если вы хотите сэкономить на наборе усилий JavaScript bla, bla,

‘#’ вернет пользователя в начало страницы, поэтому я обычно иду с void(0) .

javascript:; также ведет себя как javascript:void(0);

Я в основном перефразирую из этой практической статьи, используя прогрессивное совершенствование . Короткий ответ заключается в том, что вы никогда не используете javascript:void(0); или # если ваш пользовательский интерфейс уже не сделал вывод о том, что JavaScript включен, и в этом случае вы должны использовать javascript:void(0); , Кроме того, не используйте span в качестве ссылок, поскольку для начала это семантически ложно.

Использование SEO дружественных URL-маршрутов в вашем приложении, таких как / Home / Action / Parameters, также является хорошей практикой. Если у вас есть ссылка на страницу, которая работает без JavaScript, вы можете улучшить опыт после этого. Используйте реальную ссылку на рабочую страницу, а затем добавьте событие onlick для улучшения презентации.

Вот пример. Главная / ChangePicture — это рабочая ссылка на форму на странице в комплекте с пользовательским интерфейсом и стандартными кнопками отправки HTML, но она выглядит более удобной в виде модального диалога с кнопками jQueryUI. В любом случае работает, в зависимости от браузера, который удовлетворяет мобильной первой разработке.

Я бы сказал, что лучший способ — сделать привязку href к ID, который вы никогда не использовали, например, Do1Not2Use3This4Id5 или похожий идентификатор, который вы на 100% уверены, что никто не будет использовать и не оскорбит людей.

  1. Javascript:void(0) является плохой идеей и нарушает политику безопасности контента на страницах HTTPS с поддержкой протокола CSP https://developer.mozilla.org/en/docs/Security/CSP (благодаря @ jakub.g)
  2. Используя только # что пользователь будет прыгать назад в верхнее нажатие
  3. Не испортит страницу, если JavaScript не включен (если у вас нет кода JavaScript для обнаружения
  4. Если JavaScript включен, вы можете отключить событие по умолчанию
  5. Вы должны использовать href, если вы не знаете, как запретить браузеру выбирать какой-либо текст (не знаю, удастся ли использовать 4, что не позволяет браузеру выбирать текст)

В принципе, никто не упомянул 5 в этой статье, которые, на мой взгляд, важны, поскольку ваш сайт отрывается как непрофессиональный, если он вдруг начинает выбирать вещи вокруг ссылки.

Если вы используете AngularJS , вы можете использовать следующее:

Который ничего не сделает.

  • Это не приведет вас к началу страницы, как в случае (#)
    • Поэтому вам не нужно явно возвращаться false с помощью JavaScript
  • Это короткий краткий

В идеале вы бы это сделали:

Или, что еще лучше, у вас была бы ссылка на действие по умолчанию в HTML, и вы добавили бы событие onclick к элементу ненавязчиво через JavaScript после DOM-рендеринга, тем самым гарантировав, что если JavaScript отсутствует / используется, вы не имеют бесполезные обработчики событий, пронизывающие ваш код и потенциально запутывающие (или, по крайней мере, отвлекающие) от вашего фактического контента.

Я использую javascript:void(0) .

Три причины. Поощрение использования # среди команды разработчиков неизбежно приводит к некоторому использованию возвращаемого значения функции, называемой так:

Но затем они забывают использовать return doSomething() в onclick и просто использовать doSomething() .

Вторая причина для избежания # заключается в том, что окончательное return false; не будет выполняться, если вызываемая функция выдает ошибку. Следовательно, разработчики также должны помнить, что надлежащим образом обрабатывать любую ошибку в вызываемой функции.

Третья причина заключается в том, что есть случаи, когда свойство события onclick назначается динамически. Я предпочитаю иметь возможность вызывать функцию или назначать ее динамически без необходимости кодирования функции специально для одного метода вложения или другого. Следовательно, мой onclick (или на чем-либо) в HTML-разметке выглядит следующим образом:

Использование javascript:void(0) избегает всех вышеупомянутых головных болей, и я не нашел примеров недостатков.

Поэтому, если вы одинокий разработчик, вы можете сделать свой собственный выбор, но если вы работаете в команде, вам нужно либо указать:

Используйте href=»#» , убедитесь, что onclick всегда содержит return false; в конце, что любая вызываемая функция не выдает ошибку, и если вы динамически присоединяете функцию к свойству onclick убедитесь, что она не выбрасывает ошибку, а возвращает false .

Во-вторых, гораздо легче общаться.

Обычно у вас всегда должна быть ссылка возврата, чтобы убедиться, что у клиентов с отключенным JavaScript все еще есть некоторые функции. Эта концепция называется ненавязчивым JavaScript.

Пример . Предположим, у вас есть следующая поисковая ссылка:

Вы всегда можете сделать следующее:

Таким образом, люди с отключенным JavaScript направляются, search.php пока ваши зрители с JavaScript просматривают расширенные функции.

Я считаю, что вы представляете ложную дихотомию. Это не единственные два варианта.

Я согласен с г-ном D4V360, который предположил, что, хотя вы используете якорный тег, у вас действительно нет якоря здесь. Все, что у вас есть, — это специальный раздел документа, который должен вести себя немного иначе. Тег является гораздо более подходящим.

Когда у меня есть несколько ссылок faux, я предпочитаю дать им класс «no-link».

Затем в jQuery я добавляю следующий код:

А для HTML, ссылка просто

Мне не нравится использовать Hash-теги, если они не используются для привязок, и я делаю только это, когда у меня есть более двух faux-ссылок, иначе я иду с javascript: void (0).

Как правило, мне нравится просто избегать использования ссылки вообще и просто обернуть что-то вокруг в промежутке и использовать это как способ активировать некоторый код JavaScript, например всплывающее окно или раскрытие контента.

Как отключить ссылку href в JavaScript?

у меня есть тег Previous 1 2 3 4 Next и в некоторых условиях я хочу, чтобы этот тег был полностью отключен.

код из комментариев (так генерируется ссылка)

19 ответов:

попробуйте это, когда вы не хотите, чтобы перенаправить пользователя на кнопку

вы можете отключить все ссылки на странице с этим классом стиля:

теперь, конечно, трюк деактивировать ссылки только тогда, когда вам нужно, вот как это сделать:

используйте пустой класс A, например:

затем, когда вы хотите отключить ссылки, делаем так:

Примечание: имена правил CSS преобразуются в нижний регистр в некоторых браузерах, и этот код чувствителен к регистру, поэтому лучше использовать имена классов нижнего регистра для это

для повторной активации ссылок:

проверьте эту страницу https://caniuse.com/pointer-events для получения информации о совместимости браузера

Я думаю, что это лучший способ сделать это, но к сожалению IE, как всегда, не позволит этого 🙂 я публикую это в любом случае, потому что я думаю, что это содержит информацию, которая может быть полезной, и потому, что некоторые проекты используют браузер know, например, когда вы используете веб-представления на мобильных устройствах.

если вы просто хочу отключить одну ссылку (я только понимаю, что это был вопрос), я бы использовал функцию, которая вручную устанавливает url-адрес текущей страницы или нет, основываясь на этом условии. (как и решение, которое вы приняли)

этот вопрос был намного проще, чем я думал 🙂

Мастер Йода рекомендует:  Пособие по React всестороннее изучение React.js
Добавить комментарий