Wenn ich eine Schaltfläche habe, die ein jquery-Skript auslöst, gibt es eine Möglichkeit, sicherzustellen, dass die Schaltfläche inaktiv ist, bis das Skript abgeschlossen ist?JQuery Script Load Timing
Antwort
Irgendwo am Anfang des Skripts (wahrscheinlich auf der Click-Ereignisse der Schaltfläche), stellen Sie die disabled-Attribut auf true der Schaltfläche:
$("#mybutton").attr("disabled", true);
Wenn dann abgeschlossen ist, entfernen Sie dieses Attribut:
$("#mybutton").removeAttr("disabled");
BEARBEITEN:
Wenn Sie (etwas) ausgefallen sein möchten, ändern Sie den Text der Schaltfläche, während Sie die Arbeit erledigen. Wenn es eine Bildschaltfläche ist, können Sie die src in eine freundliche "Bitte warten" Nachricht ändern. Hier ist ein Beispiel für die Schaltfläche Textversion:
$("#mybutton").click(function() {
var origVal = $(this).attr("value");
$(this).attr("value", "Please wait...");
$(this).attr("disabled", true);
//Do your processing.
$(this).removeAttr("disabled");
$(this).attr("value", origVal);
});
Dies ist ein Bereich, wo Ich mag jQuery erweitern:
$.fn.disable = function() {
return this.each(function() {
if (typeof this.disabled != "undefined") this.disabled = true;
});
}
$.fn.enable = function() {
return this.each(function() {
if (typeof this.disabled != "undefined") this.disabled = false;
});
}
und dann können Sie tun:
$("#button").disable();
$("#button").enable();
finde ich mich Deaktivieren/Aktivieren von Steuerelementen viel.
Danke cletus für Ihre Funktion. Ich habe Ihre Funktion verwendet und eigene erstellt, um deaktivierte Elemente umzuschalten.
$.fn.toggleDisable = function() {
return this.each(function() {
if (typeof this.disabled != "undefined"){
if(this.disabled){
this.disabled = false;
}else{
this.disabled = true;
}
}
});
}
- 1. IE8 Bug: script innerhtml load
- 2. nach jquery load scroll
- 3. jQuery .load() läuft nicht PHP
- 4. jquery load() kann die js
- 5. Entspricht $ .load ohne jQuery
- 6. JQuery: Ajax .Load Frage
- 7. JQuery .load() Callback-Funktion
- 8. JQuery .load Problem
- 9. Abbrechen von jQuery(). Load()
- 10. Verschlüsselung jquery .load() Funktion
- 11. Öffnen Sie alle Links mit jQuery .load
- 12. Kleinste jQuery lightbox script
- 13. JQuery regex Schneiden <script> Tags
- 14. Wenn JQuery die Funktion .load() abgebrochen hat?
- 15. JavaScript funktioniert nicht in JQuery Load
- 16. jQuery .load Not In IE7 Arbeiten
- 17. jQuery mobile keine Klickereignisse nach .load()
- 18. JQuery .load() in Variable oder verstecktes Element
- 19. jQuery-Funktion funktioniert nur einmal, wenn jquery .load verwendet wird
- 20. Fehler in jQuery load() -Methode
- 21. jquery .live on load event
- 22. Jquery .load Gleichen Ursprung Politik
- 23. jQuery load-event nach replaceWith
- 24. Load jQuery Tabs von Ajax
- 25. Jquery Load Funktionsproblem in IE6
- 26. Jquery Load onclick datengesteuertes Anpassungssystem
- 27. Loopin in .load in jquery
- 28. JQuery $ (document) .ready ajax load
- 29. .load() jquery php Allgemeine Frage
- 30. jQuery (Dokument) .ready() load() aspx
Ich bevorzuge diese Lösung. Sie könnten die Funktion auch leicht erweitern, um den Text zu ändern. – Raithlin