Uitgeschakeld HREF-tag

Hoewel die link is uitgeschakeld, is het nog steeds aanklikbaar.

<a href="/" disabled="disabled">123n</a>

Kan ik het niet klikkend als het is uitgeschakeld? Moet ik JavaScript noodzakelijkerwijs gebruiken?


1, Autoriteit 100%

Er is geen gehandicapte kenmerk voor hyperlinks. Als u niet wilt dat iets wordt gekoppeld, moet u de <a>tag helemaal verwijderen.

U kunt ook zijn hrefverwijderen – hoewel dit andere UX- en toegankelijkheidsproblemen heeft zoals opgemerkt in de onderstaande opmerkingen, dus wordt niet aanbevolen.


2, Autoriteit 151%

Met behulp van CSS maakt u de hyperlink uit. Probeer de onderstaande

a.disabled {
  pointer-events: none;
  cursor: default;
}
<a href="link.html" class="disabled">Link</a>

3, Autoriteit 32%

U kunt gebruiken:

<a href="/" onclick="return false;">123n</a>

4, Autoriteit 27%

U kunt een van deze oplossingen gebruiken:

HTML

<a>link</a>

Javascript

<a href="javascript:function() { return false; }">link</a>
<a href="/" onclick="return false;">link</a>

CSS

<a href="www.page.com" disabled="disabled">link</a>
<style type="text/css">
    a[disabled="disabled"] {
        pointer-events: none;
    }
</style>


Antwoord 5, autoriteit 14%

Probeer dit:

<a href="javascript:void(0)" style="cursor: default;">123n</a>

Antwoord 6, autoriteit 7%

De <a>-tagheeft geen kenmerk disabled, dat is alleen voor <input>s (en <select>s en <textarea>s).

Als u een link wilt “uitschakelen”, kunt u het kenmerk hrefverwijderen of een klikhandler toevoegen die false retourneert.


Antwoord 7, autoriteit 6%

HTML:

<a href="/" class="btn-disabled" disabled="disabled">123n</a>

CSS:

.btn-disabled,
.btn-disabled[disabled] {
  opacity: .4;
  cursor: default !important;
  pointer-events: none;
}

Antwoord 8, autoriteit 5%

Tips 1: CSS gebruikenpointer-events: none;

Tips 2: JavaScript gebruikenjavascript:void(0)
(Dit is een best practice)

<a href="javascript:void(0)"></a>

Tips 1: JQuery gebruiken$('selector').attr("disabled","disabled");


Antwoord 9, autoriteit 5%

U moet de tag <a>verwijderen om hiervan af te komen.

of probeer het te gebruiken: –

<a href="/" onclick="return false;">123n</a>

10, Autoriteit 5%

alleen CSS: dit verwijdert de link van de href.

.disable { 
    pointer-events: none; 
    cursor: default; 
}

11, Autoriteit 2%

$(document).ready(function() {
   $('a').click(function(e) {
     e.preventDefault();
  });
});

12, Autoriteit 2%

U kunt het kenmerk gehandicapten op een <a>TAG EMULEN.

<a href="link.html" disabled="">Link</a>

a[disabled] {
   pointer-events: none;
   cursor: default;
}

13

U kunt de link uitschakelen met JavaScript op de werktijd met behulp van deze code

$ (‘. Pagina-link’). CSS (“Pointer-Events”, “Geen”);


14

Ik heb er een:

<a href="#">This is a disabled tag.</a>

Ik hoop dat het u zal helpen;)


15

Als je de aanwijzer wilt verwijderen, kun je dit doen met css met behulp van cursor.


Antwoord 16

In mijn geval gebruik ik

<a href="/" onClick={e => e.preventDefault()}>

Antwoord 17

Ik kon het gewenste resultaat bereiken met een ng-href ternaire operatie

<a ng-href="{{[condition] ? '' : '/'}}" ng-class="{'is-disabled':[condition]}">123n</a>

waar

a.is-disabled{
   color: grey;
   cursor: default;
   &:hover {
      text-decoration: none;
   }
} 

Antwoord 18

Het beste antwoord is altijd het eenvoudigste. Geen codering nodig.

Als de (a) ankertag geen href-attribuut heeft, is het slechts een tijdelijke aanduiding voor een hyperlink. Ondersteund door alle browsers!

<a href="/">free web counters</a><br  />
<a "/">free web counters</a>

Antwoord 19

We kunnen het niet direct uitschakelen, maar we kunnen het volgende doen:

  1. voeg type="button"toe.
  2. verwijder het kenmerk href="".
  3. voeg het kenmerk disabledtoe zodat het laat zien dat het is uitgeschakeld door de cursor te wijzigen en het wordt gedimd.

voorbeeld in PHP:

<?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    
}
?>

20

Gebruik knoppen en koppelingen correct.

• Knoppen Activeren Scripted-functionaliteit op een webpagina (dialoogvensters, expand / collapse-regio’s).

• Links brengen u naar een andere locatie, op een andere pagina of een andere locatie op dezelfde pagina.

Als u deze regels volgt, is er geen scenario wanneer u een link wilt uitschakelen. Zelfs als u een link maakt, ziet er visueel uitgeschakeld en blanco onclick

<a href="" ng-click="Ctrl._isLinkActive && $ctrl.gotoMyAwesomePage()"

U overweegt geen toegankelijkheid en schermlezers zullen het lezen als een link en slechtzienden zullen blijven zich blijven afvragen waarom de link niet werkt.


21

Als u WordPress gebruikt, heeft ik een plug-in gemaakt die dit en amp kan doen; Veel meer zonder te weten hoe je iets moet coderen. Het enige dat u hoeft te doen, is de selector van de koppeling (en) toevoegen die u wilt uitschakelen en amp; Kies vervolgens “Alle links met deze selector in een nieuw tabblad uit.” In het vervolgkeuzemenu dat verschijnt en klik op Update.

Klik hier om een ​​gif te bekijken die dit

toont

U kunt ontvang de gratis versie van het WordPress. Org Plugin Repository om het uit te proberen.


22

Hier zijn verschillende manieren om de A TAG uit te schakelen:

<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

Omdat er geen uitgeschakelde kenmerken zijn voor ankertags.
Als u het gedrag van ankertags binnen een jQuery-functie wilt stoppen, kunt u de onderstaande regel aan het begin van de functie gebruiken:

$( "a" ).click(function( e ) {
e.preventDefault();
$( "<div>" )
.append( "default " + e.type + " prevented" )
.appendTo( "#log" );
});

event.preventDefault()


Antwoord 23

Ik zie dat er hier al een heleboel antwoorden zijn gepost, maar ik denk niet dat er nog een duidelijke is die de reeds genoemde benaderingen combineert in degene die ik heb gevonden om te werken. Dit is om de link zowel uitgeschakeld te laten lijken als de gebruiker niet om te leiden naar een andere pagina.

Dit antwoord gaat ervan uit dat je jQueryen bootstrapgebruikt en een andere eigenschap gebruikt om de eigenschap hreftijdelijk op te slaan terwijl deze is uitgeschakeld.

p>

//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;
}

Antwoord 24

probeer deze

 <a href="javascript:void(0)">Click Hare</a>

Antwoord 25

Alles in de href-tag wordt linksonder in het browservenster weergegeven als u er met de muis overheen gaat.

Persoonlijk vind ik het afschuwelijk om iets als javascript:void(0)te zien aan de gebruiker.

Laat in plaats daarvan hrefuit, doe je magie met jQuery/whatever en voeg een stijlregel toe (als je het nog steeds nodig hebt om eruit te zien als een link):

a {
    cursor:pointer;
}

Antwoord 26

Je kunt de link uitschakelen met CSS

pointer-events: none

Referentie: code met hugo


Antwoord 27

U kunt ankertags uitschakelen door false te retourneren. In mijn geval gebruik ik angular en ng-disabled voor een JQuery-accordeon en moet ik de secties uitschakelen.

Dus ik heb een klein js-fragment gemaakt om dit op te lossen.

      <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>

28

Als u de link wilt uitschakelen, maar de HREF daar laat om later in te schakelen (wat is wat ik wilde doen) vond ik dat alle browsers de eerste HREF gebruiken. Vandaar dat ik het kon doen:

<a class="ea-link" href="javascript:void(0)" href="/export/">Export</a>

29

Variant die bij mij past:

<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>

Other episodes