2013-02-13 12 views
6

Z ikoną Font Awesome chcę użyć ikony--remove-. Więc mam <i class="icon-remove"></i> w moim HTML, który działa idealnie. Jednak chciałem uczynić to bindable w jQuery, aby zamknąć div dla mnie.Podczas korzystania z czcionki ikony, takiej jak FontAwesome, w jaki sposób ustawić ikony wiążące w jQuery?

Więc użyłem:

$(".icon-remove").click(function() { 
     alert("HELLO"); 
     $(".login-window").hide(); 
     $(".register-window").hide(); 
     $(".shadow").hide(); 
    }); 

Jednak to nie działa. Kiedy klikam, nic się nie dzieje.

To jest CSS, którego użyłem (również uwaga: cursor: pointer; nie działa).

.icon-remove { 
    display: block; 

    color: #444; 
    cursor: pointer; 
    float: right; 
    margin-right: 15px; 
} 

Co dokładnie robię źle?

Odpowiedz

7

Jeśli ikona została dodana dynamicznie po wczytaniu strony, to zdarzenie kliknięcia nie będzie działać. Zamiast tego należy użyć on.

Oto jeden ze sposobów korzystania z niej:

$(document).on("click", ".icon-remove", function() { 
    alert("HELLO"); 
    $(".login-window").hide(); 
    $(".register-window").hide(); 
    $(".shadow").hide(); 
}); 
+0

Użyłem tego kodu dosłownie i nadal nie działa. :/ –

+1

Dobrze, w takim przypadku następnym krokiem jest sprawdzenie błędów, tak jak sugerował Leniel, i opublikowanie wszelkich znalezionych. Jeśli nie znajdziesz żadnych błędów, musisz opublikować więcej kodu lub dać działające demo. – frostyterrier

+0

pracował dla mnie, dzięki! – F481

0

Kod jest OK. Być może masz błąd w kodzie JavaScript, który uniemożliwia działanie. Używając Firebug na przykład w Firefoksie, możesz sprawdzić kartę Konsola, aby sprawdzić, czy w Twoim kodzie wystąpił błąd.

Oto JS Bin przetestować swój kod: http://jsbin.com/obogof/4

Dla CSS strony, trzeba mieć pewność, że Twój kod CSS przychodzi po innych reguł CSS, które wpływają na klasę .icon-remove. Działa poprawnie tutaj: http://jsbin.com/obogof/5

+0

Żadna inna reguła nie wpływa na klasę '.icon-remove'. :/ –

+0

Czy zauważyłeś inny błąd w swojej klasie JavaScript? –

+0

Jest całkowicie możliwe, że po prostu nie używam konsoli poprawnie, ale nie, kiedy klikam, nic nie pojawia się w konsoli. –

0

Czy Twój javascript działa po zakończeniu DOM? Będziesz potrzebował:

$(document).on("click", ".icon-remove", function() { 
    alert("HELLO"); 
    $(".login-window").hide(); 
    $(".register-window").hide(); 
    $(".shadow").hide(); 
}); 
Powiązane problemy