Ich habe ein Datei-Upload-System, nach dem Hochladen der Schaltfläche geklickt wird, wird die Datei dann über AJAX hochgeladen. Während die Datei hochgeladen wird, möchte ich die Klickfunktion deaktivieren, die sich auf der Schaltfläche "Bilder auswählen" befindet. Derzeit ist dies die Klick-Funktion auf der Datei-Auswahltaste:Deaktivieren und dann wieder aktivieren klicken Sie auf Funktion jQuery
$(document).ready(function() {
$("#file-button").click(function() {
$('#file').trigger('click');
});
});
Das funktioniert gut, aber ich möchte die Klick-Funktion in der Fortschritt Phase des XmlHttpRequest deaktivieren und dann die Klick-Funktion wieder aktivieren, wenn Ich bekomme eine 200 Antwort vom Server. Ich habe versucht bind()
und unbind()
und es funktioniert gut in Chrome, aber in Firefox, während des Uploads, kann die Schaltfläche nicht angeklickt werden, was ist, was ich will, und dann, nachdem ich eine Antwort vom Server erhalten die Schaltfläche wieder aktiviert ist, aber in firefox öffnen sich zwei dateiauswahldialoge gleichzeitig. Dies liegt an der obigen Funktion, und ich binde die Funktion erneut mit bind()
. Hat jemand irgendwelche Vorschläge zur Aktivierung, dann deaktivieren Sie die Schaltfläche, ohne den Code (Funktion) des Klickereignisses erneut einzugeben.
So etwas wäre vorzuziehen:
$('#file-button').disable();
$('#file-button').enable();
ich versucht habe, die on()
und off()
und sie scheinen nicht zu funktionieren.
Ich habe das auch benutzt, aber festgestellt, dass das 'else' unnötig/redundant ist. –
Ich musste ein Klick-Ereignis auf '# file' auslösen, wenn der' # file-button' angeklickt wurde. Also war die else-Anweisung notwendig. – ramo
Dies funktioniert nicht mehr, bitte beachten Sie diesen Link: http://StackOverflow.com/Questions/15122526/disable-Button-in-Jquery –