2011-10-27 13 views
5

Używam dużo jQuery, więc muszę nadal pisać na maszynie funkcję $(document).ready, aby umieścić kod jQuery. Czy istnieje krótsza forma funkcji?

+3

Czemu podejmowania dużo '$ (document) .ready()' blokach? Tylko kod inicjujący odwołujący się do DOM podczas ładowania pierwszej strony musi znajdować się w takim bloku. Możesz także umieścić wiele fragmentów kodu w jednym bloku '$ (document) .ready()'. – jfriend00

+2

Poniższe odpowiedzi są jasne, ale jest to również wyraźnie podane w dokumencie [jQuery doco for document ready] (http://api.jquery.com/ready/). – nnnnnn

Odpowiedz

17

Trzy następujące składnie są dozwolone: ​​

Składnia 1

$(document).ready(function) 

składni 2

$().ready(function) 

składni 3

$(function) 

Update:

Dodatkowo od wersji 1.9 roku:

$(window).on('load', null, function) 
$(document).on('ready', null, function) 
+4

+1 Bardzo ładna odpowiedź. Witamy w Stack Overflow! –

+1

Istnieje również '$ (document) .bind (" ready ", handler)' (chociaż to nie zachowuje _quite_ w ten sam sposób). – nnnnnn

+2

Pierwsza jest dobra, druga jest w niebezpieczeństwie w konflikcie z innym szkieletem/biblioteką JS. Trzeci jest taki sam jak drugi. Powinieneś użyć jQuery (document) .ready (function() {...}); Zapisz tę linię raz i wprowadź całą logikę między nawiasami kwadratowymi. Jaki jest problem ? –

Powiązane problemy