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 :)