2012-10-23 11 views
15

Powiel możliwe:
jQuery mouseover a disabled link, how do I change the cursor so it doesn’t appear clickable?Prevent Kursor Zmiana strony przycisku niepełnosprawnych

Mam przycisk, który ja próbuje wyłączyć w niektórych przypadkach, gdy jego działanie jest zbędne lub niemożliwe . Jest to jeden z wielu przycisków na stronie i chcę tylko wyłączyć ten konkretny przycisk.

Efekt, którego szukam, to wyszarzenie, niemożliwe do sklejenia, a wskaźnik myszy nie zmienia się w wskaźnik ręki, gdy unosi się nad przyciskiem.

Udało mi się osiągnąć pierwsze dwa cele, ale nie jestem pewien, jak sprawić, by trzecia się zdarzyła. Podczas wyszukiwania zobaczyłem sugestie globalnego wyłączenia tego zachowania, ale nie dla konkretnego przycisku.

Oto, co mam do tej pory.

if(buttonIsDisabled) 
{ 
    var btnid ="#button"+index; 
    $(btnid).attr("disabled","disabled").fadeTo(500,0.2); 
} 

To sprawia, że ​​z powodzeniem przycisk unclickable i zanika go, ale w Firefox i Chrome nadal pokazuje się ikona ręka po najechaniu. IE8 (który również muszę obsługiwać) poprawnie wyłącza dłoń i pokazuje kursor.

Jakieś sugestie, jak wymusić zachowanie przeglądarki Internet Explorer w przeglądarce Chrome i Firefox?

+1

Próbowałeś stylizacja za pomocą CSS, np 'cursor: default'? – j08691

+0

@ j08691 Chcę tego tylko czasami robić dynamicznie, ale rozwiązanie jQuery .css ma sens. –

+0

@Dodeode dobry punkt, zrobiłem trochę wyszukiwania, ale szukałem konkretnych rzeczy i nie widziałem postu "wyłączonego linku". –

Odpowiedz

25

Możesz ustawić regułę "kursora" na wartość "domyślną". W jQuery można użyć metody css.

$(btnid).css("cursor", "default"); 

Skoro już używasz $ (btnid), można po prostu łańcuch połączeń, tak jak poniżej:

$(btnid).attr("disabled","disabled").css("cursor", "default").fadeTo(500,0.2); 
+0

dokładnie to, co chciałem, dzięki! –

+0

Czy coś takiego też się uda .css ("kursor", "wskaźnik! Ważne"); ? Używanie! Ważne, aby coś zmienić? –

+0

@KalaJ - tak to powinno działać, ale jedynym powodem, dla którego powinieneś to zrobić, jest próba zastąpienia nadpisania. Funkcja css w jQuery ustawia pola we właściwości style dopasowanego elementu dom. Domyślnie powinna to być najwyższa specyficzność, więc nie ma potrzeby! Ważne, o ile ważna jest również reguła o mniejszej specyficzności! Jeśli to wszystko brzmi mumbo-jumbo, dobrą zasadą jest, aby używać! Ważne, oszczędnie. Zobacz http://css-tricks.com/specifics-on-css-specificity/ i http://css-tricks.com/when-using-important-is-the-right-choice/ –

4

Można również ustawić styl przycisku cursor: default na przycisku.

4

Można ustawić css tak:

$(btnid) 
    .attr("disabled","disabled") 
    .css('cursor','default') 
    .fadeTo(500,0.2); 
Powiązane problemy