Chociaż ten link jest wyłączony, nadal można go kliknąć.
<a href="/" disabled="disabled">123n</a>
Czy mogę wyłączyć kliknięcie, jeśli jest wyłączone? Czy koniecznie muszę używać JavaScript?
Chociaż ten link jest wyłączony, nadal można go kliknąć.
<a href="/" disabled="disabled">123n</a>
Czy mogę wyłączyć kliknięcie, jeśli jest wyłączone? Czy koniecznie muszę używać JavaScript?
Odpowiedzi:
Nie ma wyłączonego atrybutu dla hiperłączy. Jeśli nie chcesz, aby coś było połączone, musisz <a>
całkowicie usunąć tag lub usunąć jego href
atrybut.
onclick="return false;"
do tagu kotwicy i być może dodać title
atrybut, który wyjaśnia, że link jest nieprawidłowy.
href
i pozostawienie <a>
nie byłoby zgodne z ADA.
Za pomocą css wyłączysz hiperłącze. Spróbuj poniżej
a.disabled {
pointer-events: none;
cursor: default;
}
<a href="link.html" class="disabled">Link</a>
opacity: 0.5;
Możesz użyć:
<a href="/" onclick="return false;">123n</a>
Możesz użyć jednego z tych rozwiązań:
<a>link</a>
<a href="javascript:function() { return false; }">link</a>
<a href="/" onclick="return false;">link</a>
<a href="www.page.com" disabled="disabled">link</a>
<style type="text/css">
a[disabled="disabled"] {
pointer-events: none;
}
</style>
Spróbuj tego:
<a href="javascript:void(0)" style="cursor: default;">123n</a>
<a>
Tag nie posiada disabled
atrybut, to tylko dla <input>
s (i <select>
S i <textarea>
S).
Aby „wyłączyć” link, możesz usunąć jego href
atrybut lub dodać moduł obsługi kliknięć, który zwraca wartość false.
href
może spowodować, że kursor się nie zmieni po najechaniu na niego kursorem.
Musisz usunąć <a>
tag, aby się go pozbyć.
lub spróbuj użyć: -
<a href="/" onclick="return false;">123n</a>
Wskazówki 1: Korzystanie z CSS pointer-events: none;
Wskazówki 2: Korzystanie z JavaScript javascript:void(0)
(jest to najlepsza praktyka)
<a href="javascript:void(0)"></a>
Wskazówki 1: Korzystanie z Jquery $('selector').attr("disabled","disabled");
Tylko CSS: usuwa link z href
.
.disable {
pointer-events: none;
cursor: default;
}
Zezwolenie rodzicowi na pointer-events: none
wyłączenie dziecka w a-tag
ten sposób (wymaga, aby div obejmował a i nie miał 0 szerokości / wysokości):
<div class="disabled">
<a href="/"></a>
</div>
gdzie:
.disabled {
pointer-events: none;
}
$(document).ready(function() {
$('a').click(function(e) {
e.preventDefault();
});
});
możesz wyłączyć link używając javascript w czasie wykonywania, używając tego kodu
$ („. page-link”). css („wskaźniki-zdarzenia”, „brak”);
W moim przypadku używam
<a href="/" onClick={e => e.preventDefault()}>
Mam jeden:
<a href="#">This is a disabled tag.</a>
Mam nadzieję, że ci to pomoże;)
Nie możemy go wyłączyć bezpośrednio, ale możemy wykonać następujące czynności
type="button"
.href=""
atrybutdisabled
atrybut, aby pokazać, że jest wyłączony przez zmianę Courser i staje się przygaszony.Oto przykład
<?php
if($status=="Approved"){
?>
<a type="button" class="btn btn-primary btn-xs" disabled> EDIT
</a>
<?php
}else{
?>
<a href="index.php" class="btn btn-primary btn-xs"> EDIT
</a>
<?php
}
?>
Byłem w stanie osiągnąć pożądany rezultat za pomocą operacji trójskładnikowej ng-href
<a ng-href="{{[condition] ? '' : '/'}}" ng-class="{'is-disabled':[condition]}">123n</a>
gdzie
a.is-disabled{
color: grey;
cursor: default;
&:hover {
text-decoration: none;
}
}
Używaj przycisków i linków poprawnie.
• Przyciski aktywują funkcje skryptowe na stronie internetowej (okna dialogowe, regiony rozwijania / zwijania).
• Linki prowadzą do innej lokalizacji, do innej strony lub innej lokalizacji na tej samej stronie.
Jeśli będziesz przestrzegać tych zasad, nie będzie żadnego scenariusza, w którym musisz wyłączyć link. Nawet jeśli link wygląda na wizualnie wyłączony i pusty po kliknięciu
<a href="" ng-click="Ctrl._isLinkActive && $ctrl.gotoMyAwesomePage()"
Nie będziesz brać pod uwagę dostępności, a czytniki ekranu odczytują go jako link, a osoby niedowidzące będą się zastanawiać, dlaczego link nie działa.
Jeśli korzystasz z WordPress, stworzyłem wtyczkę, która może to zrobić i wiele więcej bez konieczności znajomości kodowania. Wszystko, co musisz zrobić, to dodać selektor linków, które chcesz wyłączyć, a następnie wybierz „Wyłącz wszystkie linki za pomocą tego selektora w nowej karcie”. z menu rozwijanego, które się pojawi, i kliknij Aktualizuj.
Kliknij tutaj, aby wyświetlić gif, który to pokazuje
Możesz pobrać bezpłatną wersję z repozytorium wtyczek WordPress.org, aby ją wypróbować.
Oto różne sposoby wyłączenia tagu:
<a >Link Text</a> remove the href from your anchor tag <a href=”javascript:void(0)”/>Link text</a> put javascript:void(0) in href <a href="/" onclick="return false;">Link text</a> using return false
Ponieważ nie ma wyłączonych atrybutów dla tagu zakotwiczenia. Jeśli chcesz zatrzymać zachowanie tagu zakotwiczenia w funkcji jQuery, możesz użyć poniższego wiersza na początku funkcji:
$( "a" ).click(function( e ) {
e.preventDefault();
$( "<div>" )
.append( "default " + e.type + " prevented" )
.appendTo( "#log" );
});
Widzę, że opublikowano tu już mnóstwo odpowiedzi, ale nie sądzę, aby było jeszcze jedno, które łączyłoby wspomniane już podejścia z tym, które okazało się skuteczne. Ma to na celu wyłączenie wyświetlania linku, a także przekierowanie użytkownika na inną stronę.
Ta odpowiedź zakłada, że używasz jquery i bootstrap , i używa innej właściwości do tymczasowego przechowywania href
właściwości, gdy jest wyłączona.
//situation where link enable/disable should be toggled
function toggle_links(enable) {
if (enable) {
$('.toggle-link')
.removeClass('disabled')
.prop('href', $(this).attr('data-href'))
}
else {
$('.toggle-link')
.addClass('disabled')
.prop('data-href', $(this).prop('href'))
.prop('href','#')
}
a.disabled {
cursor: default;
}
Wszystko w znaczniku href wyświetli się w lewym dolnym rogu okna przeglądarki po najechaniu myszą.
Osobiście uważam, że wyświetlanie użytkownikowi czegoś takiego jak javascript: void (0) jest ohydne.
Zamiast tego, zostaw href off, użyj magii z jQuery / cokolwiek innego i dodaj regułę stylu (jeśli nadal potrzebujesz, aby wyglądała jak link):
a {
cursor:pointer;
}
Najlepsza odpowiedź jest zawsze najprostsza. Nie ma potrzeby żadnego kodowania.
Jeśli tag kotwiczący (a) nie ma atrybutu href, jest jedynie symbolem zastępczym hiperłącza. Obsługiwane przez wszystkie przeglądarki!
<a href="/">free web counters</a><br />
<a "/">free web counters</a>
Możesz wyłączyć tagi kotwicy, zwracając wartość false. W moim przypadku używam akordeonu kątowego i ng-wyłączone dla akordeonu Jquery i muszę wyłączyć sekcje.
Więc stworzyłem mały fragment js, aby to naprawić.
<a class="opener" data-toggle="collapse"
data-parent="#shipping-detail"
id="shipping-detail-section"
href="#shipping-address"
aria-expanded="true"
ng-disabled="checkoutState.addressSec">
Shipping Address</a>
<script>
$("a.opener").on("click", function () {
var disabled = $(this).attr("disabled");
if (disabled === 'disabled') {
return false;
}
});
</script>
jeśli chcesz tylko tymczasowo wyłączyć link, ale zostaw tam href, aby włączyć później (to właśnie chciałem zrobić), okazało się, że wszystkie przeglądarki używają pierwszego href. Dlatego mogłem zrobić:
<a class="ea-link" href="javascript:void(0)" href="/export/">Export</a>
Wariant, który mi odpowiada:
<script>
function locker(){
if ($("a").hasClass("locked")) {
$("a").removeClass('locked').addClass('unlocked');
$("a").attr("onClick","return false");
} else {
$("a").css("onclick","true");
$("a").removeClass('unlocked').addClass('locked');
$("a").attr("onClick","");
}
}
</script>
<button onclick="locker()">unlock</button>
<a href="http://some.site.com" class="locked">
<div>
....
<div>
</a>
<a href="/" disabled="true" onclick="return false">123</a>
Tylko dodawanie: Działa to ogólnie, ale nie zadziała, jeśli użytkownik wyłączył JavaScript w przeglądarce.
1) Opcjonalnie możesz użyć klasy Bootstrap 3 w tagu kotwicy, aby wyłączyć tag href, po zintegrowaniu wtyczki bootstrap 3
<a href="/" class="btn btn-primary disabled">123n</a>
Lub
2) Dowiedz się, jak włączyć obsługę JavaScript w przeglądarce za pomocą HTML lub JS. lub utwórz wyskakujące okienko z informacją, aby włączyć obsługę javascript przed użyciem witryny