Rulați scriptul atunci când se încarcă pagina (dom) - stiva de preaplin în limba rusă

Pentru cei care nu știu, de ce nu rula script-uri cu referire la elementele formularului :

Script-ul încearcă să interacționeze cu elementele HTML-pagină, care sunt de mai jos codul decât script-ul în sine. Prin urmare, script-ul trebuie să se încarce, iar elementul va lucra, dar cu care au nevoie. Din acest motiv, nimic nu va funcționa.

Opțiuni pentru a rezolva această problemă:

Una dintre cele mai simple moduri - pentru a muta în organism, după toate elementele. Cu acest aranjament, mai întâi descărcați DOM, și apoi script-ul. exemplu:

Cel mai simplu mod care vine în minte tuturor noilor veniți - funcția în punctul window.onload. exemplu:

Puteți adăuga, de asemenea, prin intermediul window.addEventListener ( „încărcare“.); sau window.attachEvent ( 'onload'.);

Dar această metodă are un dezavantaj: Dacă pagina a site-ului o grămadă de imagini care sunt încărcate pentru o jumătate de oră, apoi script-ul va fi executat numai după descărcarea toate imaginile, și se poate ocupa o mulțime de timp.

Un alt dezavantaj este că nu puteți utiliza unele funcții în acest mod. Ie dacă ați folosit de două ori window.onload cod, a doua funcție va șterge primul. Dar pentru a remedia problema, am scris o carja interesant:

O variantă interesantă - ceva între primul și al doilea paragraf. Creați o funcție personalizată și de apel printr-un scenariu de la sfârșitul corpului. exemplu:

Prea, dintre cele mai populare metode - a seta evenimentul organism onload. exemplu:

Metoda enStackOveflow - Lansarea unei document.onreadystatechange funcții și document.readyState. exemplu:

Este suficient un nou mod - prin lansarea unui handler DOMContentLoaded. exemplu:

Suport pentru această metodă începe cu IE9 +

Ei bine, opțiunile de vin cu biblioteci. Și prima noastră bibliotecă JQuery ScriptJava. exemplu:

O opțiune care va lucra pentru toți cei care utilizează JQuery - folosesc JQuery :). exemplu:

Aveți în continuare posibilitatea de a utiliza UI YAHOO. Din păcate, la această metodă de a lucra, trebuie să se conecteze cât mai multe script 2: yahoo-min și eveniment min. exemplu:

Și, în cele din urmă cel mai cretin ciudat și nu funcționează întotdeauna versiunea - utilizarea setTimeout. exemplu:

Acest lucru este toate opțiunile pe care le-am întâlnit, dar poate nu singura, ca și celelalte programatori gavnokodery web pot veni cu cârjele funcționează pentru a rezolva această problemă.

Ce opțiune pentru a utiliza este de până la tine :)