Jeśli mam przycisk, który uruchamia skrypt jquery, czy jest jakiś sposób, aby upewnić się, że przycisk jest nieaktywny, dopóki skrypt się nie zakończy?JQuery Script Load Timing
5
A
Odpowiedz
10
Gdzieś na początku skryptu (prawdopodobnie na kliknij zdarzenie przycisk za), ustaw atrybut wyłączył Buttona true:
$("#mybutton").attr("disabled", true);
Potem, kiedy zakończeniu usunąć ten atrybut:
$("#mybutton").removeAttr("disabled");
EDYCJA:
Jeśli chcesz uzyskać (odrobinę) ochotę, zmień tekst przycisku podczas wykonywania pracy. Jeśli jest to przycisk obrazu, możesz zmienić src na przyjazny komunikat "proszę czekać". Oto przykład z wersji przycisk tekstem:
$("#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);
});
33
Jest to jeden obszar, w którym chciałbym przedłużyć jQuery:
$.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;
});
}
a następnie można zrobić:
$("#button").disable();
$("#button").enable();
znajdę się wyłączanie/włączanie elementów sterujących.
3
Dziękuję cletus za twoją funkcję. Użyłem twojej funkcji i stworzyłem własne, aby przełączać wyłączone elementy.
$.fn.toggleDisable = function() {
return this.each(function() {
if (typeof this.disabled != "undefined"){
if(this.disabled){
this.disabled = false;
}else{
this.disabled = true;
}
}
});
}
Powiązane problemy
- 1. jquery focus on load
- 2. Chrome DevTools event event timing
- 3. Jquery: bind load + change while
- 4. Wywołanie funkcji po .load (jQuery)
- 5. timing wysokiej częstotliwości .NET
- 6. ERLANG - Timing Applications
- 7. jQuery .load nie jest sprawdzenie, czy mój element jest ładowany
- 8. Najlepszy sposób przekazać parametry do .load jQuery()
- 9. jQuery .load() Poczekaj, aż zawartość zostanie załadowana.
- 10. Problem jQuery .load() we wszystkich wersjach IE
- 11. Zatrzymaj jQuery .load odpowiedzi przed buforowane
- 12. Jak wybrać element ładowany za pomocą funkcji load() jQuery?
- 13. zachowaj klasy elementów jquery-ui po. Jquery .load()
- 14. Wywołanie jQuery .load() nie wykonuje JavaScript w załadowanym pliku HTML
- 15. Problem z jQuery CSS i .load() w IE
- 16. ruchomy kursor w mongo db timing out
- 17. Javascript multiple script src
- 18. jQuery $ (okno) .load nie działa zgodnie z oczekiwaniami
- 19. Auto-odtwarzanie wideo HTML5 w Dom Load przy użyciu jQuery
- 20. Czy jQuery $ .ajax lub $ .load pozwala na responseType arrayBuffer?
- 21. jQuery .load() Jak zapobiec podwójnemu ładowaniu z dwukrotnego kliknięcia
- 22. Jak zmienić kursor, aby poczekać, używając jQuery .load()
- 23. Rails "script/console" vs. "script/console --sandbox"
- 24. Znajdź obiekt jquery wewnątrz javascript <script> tagu
- 25. Usuwanie znaczników <script> przy użyciu jQuery
- 26. Jak zabezpieczyć jQuery przed usunięciem znaczników <script>
- 27. .NET Dynamically Load DLL
- 28. MooTools: domready vs load
- 29. Rozwiązania load balancer Tomcat
- 30. "niezainicjowany stała Sass :: Script (NameError)"
Preferuję to rozwiązanie. Możesz łatwo ulepszyć funkcję zmiany tekstu. – Raithlin