Jeśli korzystam z funkcji obsługi $(document).ready()
w ramach funkcji, czy nadal będzie można zagwarantować, że kod w niej zostanie uruchomiony, tylko jeśli dokument jest gotowy, nawet jeśli zdarzenie gotowe do drukowania zdarzyło się w przeszłości?
5
A
Odpowiedz
14
Tak.
Z funkcji jQuery ready
source.
// Catch cases where $(document).ready() is called after the
// browser event has already occurred.
if (document.readyState === "complete") {
// Handle it asynchronously to allow scripts the opportunity to delay ready
return setTimeout(jQuery.ready, 1);
}
1
Tak. Możesz umieścić go w funkcji i zostanie wywołany za każdym razem, gdy zadzwonisz do tej funkcji.
4
Tak, to jest bezpieczne. jQuery ma kilka sposobów ustawiania takich programów obsługi, a jedynym "niebezpiecznym" jest $(document).bind("ready", handler)
. From the jQuery docs:
Wszystkie trzy z poniższych składni są równoważne:
$(document).ready(handler)
$().ready(handler)
(nie jest to zalecane)$(handler)
Istnieje również
$(document).bind("ready", handler)
. Zachowuje się to podobnie do metody gotowej, ale z jednym wyjątkiem: : Jeśli gotowe zdarzenie zostało już uruchomione i spróbujesz wykonać.bind("ready")
, związany handler nie zostanie wykonany. Gotowe procedury obsługi powiązane w ten sposób są wykonywane po związaniu przez inne trzy powyższe metody: .
Powiązane problemy
- 1. Jak wywołać funkcję w $ (document) .ready z zewnątrz
- 2. Alternatywa dla funkcji "$ (document) .ready"
- 3. $ (document) .ready i iframe zawartość
- 4. Różne formy $ (document) .ready
- 5. Czy można bezpiecznie wywołać RCW z finalizatora?
- 6. Firefox nie uruchamia $ (document) .ready (function() {
- 7. jak wywołać funkcję z innej funkcji w jQuery
- 8. jQuery $ (function() {}) i $ (document) .ready to samo?
- 9. Czy można bezpiecznie wywołać zsynchronizowaną metodę z innej zsynchronizowanej metody?
- 10. Czy można bezpiecznie wywołać plik PHP z JavaScript?
- 11. jQuery $ (document) .ready() nie wypalanie po window.location.href
- 12. Muszę wywołać oryginalną funkcję z funkcji objazdu
- 13. Nie można wywołać metody runOnUiThread w wątku z wnętrza usługi
- 14. Czy można wywołać funkcję rozszerzenia Java z Xalan na Androida?
- 15. JavaScript: Czy można wywołać funkcję cleartimeout przed rozliczeniem?
- 16. Czy można wywołać określoną funkcję ze sterownika w angularjs?
- 17. Czy można bezpiecznie przypisać wartość nullptr do zmiennej wskaźnika funkcji?
- 18. jak wywołać funkcję w funkcji plsql
- 19. Czy można bezpiecznie używać os.environ.setdefault?
- 20. Czy startServce() można wywołać z dowolnego wątku?
- 21. JavaScript jak np. $ (Document) .ready() dla "nowoczesnych przeglądarek HTML5"
- 22. sposób tworzenia i wywołać funkcję niestandardową w jQuery
- 23. Jaka jest różnica pomiędzy $ (document) .ready (function() i $ (function()
- 24. $ (document) .ready nie działa w ramach projektu MVC4
- 25. Czy można wywołać funkcję w składniku rodzica w React Native?
- 26. Czy można wywołać funkcję zdefiniowaną przez użytkownika bez nazwy schematu?
- 27. Czy należy wywołać funkcję [super loadView] z loadView, czy nie?
- 28. Prawidłowe użycie jquery $ (document) .ready() podczas deklarowania funkcji wywołanych w ramach gotowości()
- 29. Czy można bezpiecznie używać funkcji SHFileOperation w wątku roboczym?
- 30. Jak wywołać funkcję z wewnątrz zagnieżdżonej funkcji w maszynie?
+1 dla odpowiedniego kodu źródłowego. – alex