Deaktivieren, dann wieder aktivieren, klicken Sie auf die Funktion jQuery
Habe ich ein Datei-upload-system, das nach den upload-button geklickt wird, wird die Datei dann hochgeladen durch AJAX. Während die Datei hochgeladen, die ich deaktivieren möchten, klicken Sie auf die Funktion, die auf der "Bilder Auswählen" - button.
Aktuell wird die Klick-Funktion auf die Datei-Auswahl-button:
$(document).ready(function() {
$("#file-button").click(function() {
$('#file').trigger('click');
});
});
Das funktioniert auch, aber ich deaktivieren möchten, klicken Sie auf die Funktion in der progress phase des XmlHttpRequest-Objekt, und aktivieren Sie dann erneut die Klick-Funktion, wenn ich eine 200 Antwort vom server. Ich habe versucht bind()
und unbind()
- und es funktioniert in Chrome, aber in firefox, während der das hochladen, der button kann nicht angeklickt werden, das ist, was ich will, und dann, nachdem ich eine Antwort bekommen von dem server, der button ist wieder aktiviert, aber im firefox zwei Datei-Auswahl-Dialog-Fenster gleichzeitig öffnen. Dies ist aufgrund der Funktion oben, und mir verbindlich die Funktion erneut mit bind()
. Hat jemand irgendwelche Vorschläge auf, wie Sie aktivieren und deaktivieren Sie anschließend die Taste ohne erneute Eingabe der code (Funktion) das click-Ereignis.
Sowas wäre vorzuziehen:
$('#file-button').disable();
$('#file-button').enable();
Habe ich versucht das on()
und off()
und Sie scheinen nicht zu funktionieren.
InformationsquelleAutor ramo | 2013-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
LÖSUNG -- danke an Eric
Änderte ich meine ersten Klick-Funktion, um die folgenden:
Und ich habe die folgende Schaltfläche deaktivieren
Und diese zu re-aktivieren:
else
war unnötig/überflüssig.Ich brauchte löst ein click-Ereignis auf
#file
wenn die#file-button
geklickt wurde. Also die else-Anweisung notwendig war.Dieses nicht mehr funktioniert, entnehmen Sie bitte diesem link: stackoverflow.com/questions/15122526/disable-button-in-jquery
InformationsquelleAutor ramo
Deaktivieren Sie die Schaltfläche mit jQuery $.prop() Funktion:
Hinzufügen einer bedingten zu den click-handler, um zu überprüfen, ob der button deaktiviert ist:
Später auf die Schaltfläche wieder zu aktivieren:
Oder Sie können möglicherweise verwenden Sie das submit-Ereignis anstelle von klicken Sie auf, wenn es eine form beteiligt:
if ($(this).is(':disabled')) {
wie kann ich überprüfen, um sicherzustellen, dass Behinderte es auf false gesetzt, nicht wahr.Du hast Recht. Bearbeitet, um es zu beheben. Fügen Sie einfach ein
!
:if (!$(this).is(':disabled'))
Ich fixierte es mit ein wenig änderung an Ihrem code haben Sie einen Blick auf die Lösung meiner Frage. Danke für die Idee, Eric!
Ich bevorzugte diese Lösung, hatte aber einige Schwierigkeiten mit dem "wenn deaktiviert" - Anweisung. Nach ändern auf dieser funktioniert es:
var attr = $("input[type=submit]").attr('disabled'); if (typeof attr == typeof undefined || attr == false) {
InformationsquelleAutor Eric Freese
Versuchen
Attr
jQuery-Funktion.Getesteten Code
werfen Sie einen Blick auf aktualisierte Antwort..
Ihre aktualisierte Antwort funktioniert nicht weder. codepen
okay bitte teilen ur alle js-code,
Sie können einen Blick auf codepen, kann ich nicht teilen mein code, aber wenn man sich die codepen, was ich will, ist etwas um unter die ersten Klick-Funktion, würde es zu deaktivieren, und dann nach dem deaktivieren der Funktion, um es zu aktivieren. Sorry, wenn ich mich nicht Sinn machen. > Auf Funktion eingestellt ist > Klick-Funktion ist deaktiviert > Klicken Sie auf die Funktion erneut aktiviert wird, ohne neu-Einstellung der ersten Klick-Funktion wieder.
InformationsquelleAutor Dipesh Parmar
Müssen Sie finden Sie die Eingabe-Taste, um die Schaltfläche deaktivieren ,
Etwas wie unten
<button>
tag.hast du versucht mit prob ......?
Sorry, wollte ich versuchen mit was?
$.prob () - Funktion , api.jquery.com/prop
andere nennen es durch den Klassennamen
InformationsquelleAutor EnterJQ