Jego zadaniem jest (między innymi) zapewnienie, że twoja funkcja zostanie wywołana, gdy wszystkie elementy DOM strony będą gotowe do użycia.
Jednak nie sądzę, że to jest problem, który masz - czy możesz wyjaśnić, co masz na myśli mówiąc: „W jakiś sposób nie można wywołać niektórych funkcji i muszę je wywołać w środku”? Może opublikuj kod, aby pokazać, co nie działa zgodnie z oczekiwaniami?
Edycja: ponowne czytanie pytania, może być tak, że twoja funkcja jest uruchomiona przed załadowaniem strony, a zatem nie będzie działać poprawnie; umieszczenie go w $ (funkcja) rzeczywiście naprawiłoby to!
co jeśli $ (function () {}); jest już w $ (dokument) .ready ()?
jwchang
funkcja nie działa bez $ (function (), chociaż jest już w $ (document) ready ().
jwchang 4'11
Dobre pytanie! Uważam, że powinno po prostu działać, ponieważ jQuery wie, że jesteś we właściwym miejscu, ale z pewnością jest to obce; jeśli jesteś w .ready (), możesz zwyczajnie wywołać swoją funkcję. Jeśli to nie działa, opublikuj próbkę, a nawet lepiej - spróbuj zrobić skrzypce jako jsfiddle.net.
Russ Clarke,
4
@JeongWooChang Zrób to tak (function () { ... })();. Musisz dodać, ()aby wywołać swoją funkcję.
Šime Vidas,
3
„Doświadczeni programiści czasami używać skrótów $()dla $( document ).ready(). Jeśli piszesz kod, że ludzie, którzy nie są doświadczeni z jQuery można zobaczyć, to najlepiej użyć długiego formularza.” - learn.jquery.com
thdoan
15
Poniżej znajduje się wywołanie funkcji jQuery:
$(...);
Która jest „funkcją jQuery”. $jest funkcją, a $(...)ty wywołujesz tę funkcję.
Pierwszy podany parametr to:
function(){}
Ten parametr jest funkcją określoną przez użytkownika, a $funkcja wywoła dostarczoną metodę, gdy DOM zakończy ładowanie.
Jest to po prostu skrót $(document).ready(), ponieważ:$(document).ready(function() {
YOUR_CODE_HERE
}); . Czasami musisz go użyć, ponieważ funkcja jest uruchomiona przed zakończeniem ładowania DOM.
Myślę, że mylisz Javascript z metodami jQuery. Wanilia lub zwykły Javascript to coś takiego:
function example(){}
Funkcję tego rodzaju można wywołać w dowolnym miejscu i czasie.
jQuery (biblioteka zbudowana na Javascript) ma wbudowane funkcje, które generalnie wymagały pełnego renderowania DOM przed wywołaniem. Składnia po zakończeniu jest następująca:
$(document).ready(function(){});
Tak więc funkcja jQuery, która poprzedzona jest $słowem lub, jQueryjest zwykle wywoływana z tej metody.
$(document).ready(function(){// Assign all list items on the page to be the color red. // This does not work until AFTER the entire DOM is "ready", hence the $(document).ready()
$('li').css('color','red');});
Pseudo-kod tego bloku to:
Gdy model obiektu dokumentu $(document)jest gotowy .ready(), wywołaj następującą funkcję function() { }. W tej funkcji sprawdź wszystkie <li>na stronie $('li')i za pomocą metody jQuery .CSS () ustaw właściwość CSS „kolor” na wartość „czerwony”.css('color', 'red');
Jest to skrót do $(document).ready(), który jest wykonywany, gdy przeglądarka zakończy ładowanie strony (co oznacza tutaj „kiedy DOM jest dostępny”). Zobacz: http://www.learningjquery.com/2006/09/introducing-document-ready . Jeśli próbujesz zadzwonić, example()zanim przeglądarka zakończy ładowanie strony, może nie działać.
(function () { ... })();
. Musisz dodać,()
aby wywołać swoją funkcję.$()
dla$( document ).ready()
. Jeśli piszesz kod, że ludzie, którzy nie są doświadczeni z jQuery można zobaczyć, to najlepiej użyć długiego formularza.” - learn.jquery.comPoniżej znajduje się wywołanie funkcji jQuery:
Która jest „funkcją jQuery”.
$
jest funkcją, a$(...)
ty wywołujesz tę funkcję.Pierwszy podany parametr to:
Ten parametr jest funkcją określoną przez użytkownika, a
$
funkcja wywoła dostarczoną metodę, gdy DOM zakończy ładowanie.źródło
Jest to po prostu skrót
$(document).ready()
, ponieważ:$(document).ready(function() { YOUR_CODE_HERE });
. Czasami musisz go użyć, ponieważ funkcja jest uruchomiona przed zakończeniem ładowania DOM.Wszystko zostało wyjaśnione tutaj: http://docs.jquery.com/Tutorials:Introducing_$ (document) .ready ()
źródło
Myślę, że mylisz Javascript z metodami jQuery. Wanilia lub zwykły Javascript to coś takiego:
Funkcję tego rodzaju można wywołać w dowolnym miejscu i czasie.
jQuery (biblioteka zbudowana na Javascript) ma wbudowane funkcje, które generalnie wymagały pełnego renderowania DOM przed wywołaniem. Składnia po zakończeniu jest następująca:
Tak więc funkcja jQuery, która poprzedzona jest
$
słowem lub,jQuery
jest zwykle wywoływana z tej metody.Pseudo-kod tego bloku to:
Gdy model obiektu dokumentu
$(document)
jest gotowy.ready()
, wywołaj następującą funkcjęfunction() { }
. W tej funkcji sprawdź wszystkie<li>
na stronie$('li')
i za pomocą metody jQuery .CSS () ustaw właściwość CSS „kolor” na wartość „czerwony”.css('color', 'red');
źródło
Jest to skrót do
$(document).ready()
, który jest wykonywany, gdy przeglądarka zakończy ładowanie strony (co oznacza tutaj „kiedy DOM jest dostępny”). Zobacz: http://www.learningjquery.com/2006/09/introducing-document-ready . Jeśli próbujesz zadzwonić,example()
zanim przeglądarka zakończy ładowanie strony, może nie działać.źródło