2015-02-04 18 views
26

I created a button that open a modal window on click.formacie HTML, jak wyłączyć <a href>?

<a href="#" data-toggle="modal" data-target="#myModal" class="signup-button gray-btn pl-pr-36" id="connectBtn" data-role="disabled">Connect</a> 

For some reason the data-role="disabled" doesn't work good. How can I disable it?

+0

Po prostu usuń atrybut 'href'? – Oriol

+1

nie używaj "a" dla przycisków, nie można ich wyłączyć (nie są rodzime, tylko obejścia). Użyj znacznika 'button'. – Luizgrs

Odpowiedz

-1
<script> 
    $(document).ready(function(){ 
     $('#connectBtn').click(function(e){ 
      e.preventDefault(); 
     }) 
    }); 
</script> 

This will prevent the default action.

+6

Chociaż bardzo prawdopodobne jest, że jQuery nie jest oznaczony, nie należy publikować odpowiedzi, dopóki nie zostaną podane dalsze wyjaśnienia. Twoim pierwszym podejściem powinno być pozostawienie komentarza z pytaniem * Czy korzystasz z jQuery? * I, biorąc pod uwagę, że nie zrobiłeś tego, co powinieneś zdecydowanie zrobić, to przedmowę twoją odpowiedzią * Jeśli używasz jQuery ... *. –

54

You can use CSS to accomplish this:

<a href="somelink.html" class="disabled">Some link</a> 

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

Example:http://jsfiddle.net/7EQJp/

Albo można użyć JavaScript, aby zapobiec domyślne działanie takiego:

$('.disabled').click(function(e){ 
    e.preventDefault(); 
    }) 
+4

Dobry pomysł, ale to nie wyłączy. Nadal możesz korzystać z karty, aby aktywować link, i naciśnij Enter, aby go obserwować. – Oriol

7

stworzyłem przycisk ...

To tutaj "poszło nie tak. Użytkownik nie utworzył przycisku, utworzyłeś element zakotwiczenia. Jeśli użył element button zamiast, to nie ma tego problemu:

<button type="button" data-toggle="modal" data-target="#myModal" data-role="disabled"> 
    Connect 
</button> 

jeśli masz zamiar nadal korzystać element a zamiast przynajmniej należy nadać mu atrybut role ustawiony "button" i upuść atrybut href sumie:

<a role="button" ...> 

Po wykonaniu, że można wprowadzać a piece of JavaScript which calls event.preventDefault() - tutaj z event jest to wydarzenie kliknięcie.

3
.disabledLink.disabled {pointer-events:none;} 

To powinno zrobić nadzieję, że pomogłem!