Mam system przesyłania plików, po kliknięciu przycisku przesyłania plik jest następnie przesyłany przez AJAX. Podczas przesyłania pliku chcę wyłączyć funkcję kliknięcia znajdującą się na przycisku "Wybierz obrazy". Obecnie jest to funkcja kliknięcie na przycisk plików wybór:Wyłącz, a następnie włącz ponownie funkcję kliknięcia jQuery
$(document).ready(function() {
$("#file-button").click(function() {
$('#file').trigger('click');
});
});
który działa dobrze, ale chcę, aby wyłączyć funkcję kliknięcia w fazie postępów XMLHttpRequest, a następnie ponownie włączyć funkcję kliknij, gdy Otrzymuję odpowiedź 200 z serwera. Próbowałem już bind()
i unbind()
i działa dobrze w Chrome, ale w firefox, podczas przesyłania, przycisku nie można kliknąć, to jest to, czego chcę, a potem po otrzymaniu odpowiedzi z serwera przycisk jest ponownie włączony, ale w firefox otwierane są jednocześnie dwa okna dialogowe wyboru plików. Dzieje się tak z powodu powyższej funkcji i ponownego powiązania funkcji za pomocą bind()
. Czy ktoś ma jakieś sugestie, jak włączyć, a następnie wyłączyć przycisk bez ponownego wpisywania kodu (funkcji) zdarzenia kliknięcia.
Coś takiego byłoby lepiej:
$('#file-button').disable();
$('#file-button').enable();
Próbowałem on()
i off()
i nie wydaje się do pracy albo.
Użyłem tego również, ale stwierdziłem, że' else' jest niepotrzebne/zbędne. –
Musiałem wywołać zdarzenie kliknięcia na '# file' po kliknięciu przycisku' # file-button'. Tak więc instrukcja else była konieczna. – ramo
To już nie działa, zapoznaj się z tym linkiem: http://stackoverflow.com/questions/15122526/disable-button-in-jquery –