SPEAKER 1: Most, hogy a legutóbbi példa, emlékeztetni arra, hogy megszakítva néhány JavaScript kód belsejében a HTML, Konkrétabban, belsejében az értéke az attribútum felszólította beküldése az adott form tag. Most a kis oldal, ez a nem olyan nagy dolog. De mint egy weboldal egyre hosszabb és komplex, egyszerűen üzembe a JavaScript kódot itt-ott benne értékének attribútumok nem a legjobb design. A legjobb, ha tényező, és legalább tedd belsejében A script tag központilag. Hogyan kell ezt csinálni? Nos, térjünk vissza a form tag és először törölni az attribútumot és annak érték összesen. Aztán itt, hanem meghatározza a nevű függvényt Köszöntsétek, hadd tarts a vonal kód, amely végül is továbbra is szeretné végrehajtani, és helyére A Greet függvény az alábbiak szerint. Document.get Elem ID idézet idézet vége demo - ahol a demo, emlékszem, az egyedi azonosítót az űrlapban - pont a be, amelyek emlékeztetnek a neve Az eseménykezelő, amelyben mi érdekel. És legyen hozzá, hogy a be-kezelő az érték, hogy ez valójában egy funkció is. Most már észre, hogy nem vagyok valójában hívás funkció itt. Én inkább meghatározó egy névtelen, más néven a lambda funkció megadásával ezek között a kapcsos zárójelek egy csomó kód kell valóban végre kell hajtani. Pontosabban, a kód, amit szeretnék végrehajtani, hogy a vonal volt előtt, majd tegyük hozzá, hogy a return false, így ebben a formában nem végül benyújtotta a végére a távoli web szerver a hagyományos módon. Nézzük most menteni ezt a fájlt, nyisd ki a böngészőben, és meglátjuk, mi történik. http://localhost/dom-1.html. Nézzük most írja az én nevemben, David nyújt. És semmi sem úgy tűnik, hogy történt, kivéve az URL oldalam látszik megváltozott, mintha formában volt ténylegesen benyújtott ugyanabban a fájlban. De miért lenne az? Nos, kell még egy kis információt. Szóval menjünk előre, és nyissa meg a Chrome Developer Tools, hogy én valóban nézd meg a konzol ablakban, hogy ha tettem valami rosszat. Tudom elérni, hogy keresztül egy pár módon. Amelyek közül az egyik ebben a menüben van, majd a Tools, majd le Developer Tools. És észre itt a Konzol lapon van egy ki nem fogott típusú hiba, nem beállított ingatlan be null. De miért lenne az? Nos, hát az én forráskód itt értesítés hogy a Submit szerintem tulajdonsága az elemet, amelynek egyedi azonosítót demo. Egy elem, ismét csak a csomópont egy fa. Tehát úgy tűnik, hogy a böngészőm nem gondolom, hogy ezt az elemet vagy csomópont létezik még. És valóban, nem. Emlékezzünk vissza, hogy a weboldal értelmezése vagy olvassa egy webböngésző, felülről lefelé, balról jobbra. És így, ha JavaScript kód találkozott, általában, ez végre azonnal. De ebben az esetben, már nem is ütött még a részét a dom, a HTML, amelyben a formában egyedülálló azonosító demo nyilvánították. És így próbálunk végrehajtani a JavaScript kódot, mielőtt a csomópont még létezik a fa, amely, természetesen, problémás, mert akkor biztos, az elem önmagában is null abban az időpontban. Szóval, hogyan kell megoldani? Nos, van egy pár megoldás. De próbáljuk meg a legegyszerűbb áthelyezésével a script tag a fej tag a testem, hanem kifejezetten felé alján oldalam testét, így hogy ez alatt a csomópontok és kérdések. Pontosabban, most jelölje ki és vágja a nyitott tag és záró tag a script és helyezze át az egész blokk kód hogy az alján a fájl itt. Most ez nem feltétlenül a legtisztább tervezni, de legalább lesz jog érvényesítése műveletek sorrendjét. Mentsük el a fájlt és újratölteni a böngészőben. Nézzük újra az oldalt újra be a nevem, és ott Hello David visszatért.