>> SPEAKER 1: Acum, în acest ultim exemplu, amintesc că am intercalate unele
Codul JavaScript interiorul HTML meu, în mod specific, în interiorul a valorii
atributul numit pe Submit pentru că forma tag-ul.
Acum, pentru pagini mici, acest nu este o astfel de afacere mare.
Dar ca o pagină web devine mai mult și mai mult complex, pune pur și simplu dvs.
JavaScript codul aici și acolo în interior din valoarea atribute nu este
cel mai bun design.
Cel mai bine dacă ne-am factor care afară și cel puțin pus în interiorul
tag-ul script-ul central.
>> Cum se face acest lucru?
Ei bine, să se întoarcă la forma tag-ul meu și Primul șterge acest atribut și ei
valoare cu totul.
Apoi aici, în loc să definească o Funcția numit Greet, să stea pe
la linia care în cele din urmă ne va dori în continuare să execute și să înlocuiască
funcția Greet după cum urmează.
Document.get Element de identitate citez demo încheiat citatul -
în cazul în care demo, amintesc, este unic identificator pentru forma în sine -
punct la prezenta, care amintesc este numele de tratare a evenimentului în care
suntem interesați.
Și să atribui că la prezenta handler valoarea care este de fapt o
funcționeze în sine.
>> Acum, observați că eu nu sunt de fapt apelarea o funcție aici.
Eu în schimb definirea unui anonim, altfel cunoscut ca funcție lambda,
prin specificarea dintre aceste acolade o grămadă de cod care ar trebui să
de fapt, să fie executat.
În mod specific, codul pe care mi-ar plăcea pentru a executa este că linia pe care am avut
înainte, și apoi să adăugăm la asta return false, astfel că această formă nu este
în cele din urmă a prezentat pentru a termina web de la distanță de server în mod tradițional.
>> Să salvăm acum acest fișier, deschideți-l în sus într-un browser, și să vedem ce se întâmplă.
http://localhost/dom-1.html.
Hai acum tastăm în numele meu, David Trimite.
Și nimic nu pare să se fi întâmplat cu excepția URL-ul paginii mele pare să
s-au schimbat, ca și cum era forma de fapt depus la același fișier.
>> Acum, de ce ar fi asta?
Ei bine, am nevoie de mai multe informații.
Deci, haideți să mergem mai departe și să se deschidă Chrome Instrumente de dezvoltare astfel încât să pot de fapt,
uita-te la fereastra de consola pentru a vedea dacă am făcut ceva greșit.
Eu pot accesa prin intermediul câteva moduri.
Una dintre care este din acest meniu aici, apoi, sub Instrumente, apoi în jos pentru a
Instrumente pentru dezvoltatori.
>> Și observați aici, în fila Console, există o eroare de tip neprins, nu se poate
setați proprietatea la prezenta de nul.
Acum, de ce ar fi asta?
Ei bine, înapoi în codul sursa mea de aici, o notificare că pe submit cred că este un
proprietate a elementului cărui identificator unic este demo.
Un element, din nou, este doar un nod într-un copac.
>> Deci, se pare că browserul meu nu Cred că acest element
sau există nod încă.
Și într-adevăr, nu.
Amintiti-va ca o pagină web este analizat sau de a citi de un browser web, de sus în jos,
la stânga la dreapta.
Și astfel, atunci când codul JavaScript este întâlnite, de obicei, este executat
imediat.
>> Dar, în acest caz, nu am ajuns chiar dar la partea de dom,
HTML, în care această formă, cu un unic demo identificator a fost declarat.
Și așa vom încerca să execute meu JavaScript cod înainte ca nod chiar
există în arborele care, desigur, este problematic pentru că atunci, cu siguranță,
elementul în sine va fi nul la acel moment.
>> Deci, cum să se stabilească?
Ei bine, avem un cuplu de soluții.
Dar hai să încercăm simple prin relocarea tag-ul meu de script-ul de la cap
tag-ul de corpul meu, dar în mod special, față de partea de jos a corpului pagina mea, astfel
că aceasta este sub nodurile și întrebări.
În mod special, să evidențiați și tăiat tag-ul tag-ul deschis și aproape de script
și mute că întregul bloc de cod la partea de jos a fișierului aici.
>> Acum, acest lucru nu este neapărat mai curate proiectare, dar cel puțin se va
pune în aplicare ordinea corectă a operațiunilor.
Să salvați fișierul și reîncărcați în browser-ul meu.
Să reîncărca pagina, re-intrare numele meu, și acolo, Buna David este înapoi.