1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> SPEAKER 1: Most, hogy a legutóbbi példa, emlékeztetni arra, hogy megszakítva néhány 3 00:00:03,000 --> 00:00:07,170 JavaScript kód belsejében a HTML, Konkrétabban, belsejében az értéke 4 00:00:07,170 --> 00:00:10,460 az attribútum felszólította beküldése az adott form tag. 5 00:00:10,460 --> 00:00:12,850 Most a kis oldal, ez a nem olyan nagy dolog. 6 00:00:12,850 --> 00:00:15,950 De mint egy weboldal egyre hosszabb és komplex, egyszerűen üzembe a 7 00:00:15,950 --> 00:00:19,660 JavaScript kódot itt-ott benne értékének attribútumok nem a 8 00:00:19,660 --> 00:00:20,830 legjobb design. 9 00:00:20,830 --> 00:00:23,440 A legjobb, ha tényező, és legalább tedd belsejében 10 00:00:23,440 --> 00:00:25,200 A script tag központilag. 11 00:00:25,200 --> 00:00:26,080 >> Hogyan kell ezt csinálni? 12 00:00:26,080 --> 00:00:30,040 Nos, térjünk vissza a form tag és először törölni az attribútumot és annak 13 00:00:30,040 --> 00:00:31,780 érték összesen. 14 00:00:31,780 --> 00:00:35,730 Aztán itt, hanem meghatározza a nevű függvényt Köszöntsétek, hadd tarts 15 00:00:35,730 --> 00:00:39,405 a vonal kód, amely végül is továbbra is szeretné végrehajtani, és helyére 16 00:00:39,405 --> 00:00:41,560 A Greet függvény az alábbiak szerint. 17 00:00:41,560 --> 00:00:48,190 Document.get Elem ID idézet idézet vége demo - 18 00:00:48,190 --> 00:00:52,410 ahol a demo, emlékszem, az egyedi azonosítót az űrlapban - 19 00:00:52,410 --> 00:00:56,600 pont a be, amelyek emlékeztetnek a neve Az eseménykezelő, amelyben 20 00:00:56,600 --> 00:00:57,710 mi érdekel. 21 00:00:57,710 --> 00:01:01,990 És legyen hozzá, hogy a be-kezelő az érték, hogy ez valójában egy 22 00:01:01,990 --> 00:01:03,740 funkció is. 23 00:01:03,740 --> 00:01:06,390 >> Most már észre, hogy nem vagyok valójában hívás funkció itt. 24 00:01:06,390 --> 00:01:10,650 Én inkább meghatározó egy névtelen, más néven a lambda funkció 25 00:01:10,650 --> 00:01:14,100 megadásával ezek között a kapcsos zárójelek egy csomó kód kell 26 00:01:14,100 --> 00:01:15,490 valóban végre kell hajtani. 27 00:01:15,490 --> 00:01:18,500 Pontosabban, a kód, amit szeretnék végrehajtani, hogy a vonal volt 28 00:01:18,500 --> 00:01:23,370 előtt, majd tegyük hozzá, hogy a return false, így ebben a formában nem 29 00:01:23,370 --> 00:01:26,950 végül benyújtotta a végére a távoli web szerver a hagyományos módon. 30 00:01:26,950 --> 00:01:30,345 >> Nézzük most menteni ezt a fájlt, nyisd ki a böngészőben, és meglátjuk, mi történik. 31 00:01:30,345 --> 00:01:33,050 32 00:01:33,050 --> 00:01:39,800 http://localhost/dom-1.html. 33 00:01:39,800 --> 00:01:43,060 Nézzük most írja az én nevemben, David nyújt. 34 00:01:43,060 --> 00:01:46,900 És semmi sem úgy tűnik, hogy történt, kivéve az URL oldalam látszik 35 00:01:46,900 --> 00:01:52,580 megváltozott, mintha formában volt ténylegesen benyújtott ugyanabban a fájlban. 36 00:01:52,580 --> 00:01:53,870 >> De miért lenne az? 37 00:01:53,870 --> 00:01:55,340 Nos, kell még egy kis információt. 38 00:01:55,340 --> 00:01:58,700 Szóval menjünk előre, és nyissa meg a Chrome Developer Tools, hogy én valóban 39 00:01:58,700 --> 00:02:01,440 nézd meg a konzol ablakban, hogy ha tettem valami rosszat. 40 00:02:01,440 --> 00:02:03,330 Tudom elérni, hogy keresztül egy pár módon. 41 00:02:03,330 --> 00:02:07,250 Amelyek közül az egyik ebben a menüben van, majd a Tools, majd le 42 00:02:07,250 --> 00:02:08,509 Developer Tools. 43 00:02:08,509 --> 00:02:12,890 >> És észre itt a Konzol lapon van egy ki nem fogott típusú hiba, nem 44 00:02:12,890 --> 00:02:15,390 beállított ingatlan be null. 45 00:02:15,390 --> 00:02:16,900 De miért lenne az? 46 00:02:16,900 --> 00:02:21,380 Nos, hát az én forráskód itt értesítés hogy a Submit szerintem 47 00:02:21,380 --> 00:02:25,360 tulajdonsága az elemet, amelynek egyedi azonosítót demo. 48 00:02:25,360 --> 00:02:27,810 Egy elem, ismét csak a csomópont egy fa. 49 00:02:27,810 --> 00:02:30,870 >> Tehát úgy tűnik, hogy a böngészőm nem gondolom, hogy ezt az elemet 50 00:02:30,870 --> 00:02:32,500 vagy csomópont létezik még. 51 00:02:32,500 --> 00:02:33,790 És valóban, nem. 52 00:02:33,790 --> 00:02:37,690 Emlékezzünk vissza, hogy a weboldal értelmezése vagy olvassa egy webböngésző, felülről lefelé, 53 00:02:37,690 --> 00:02:38,430 balról jobbra. 54 00:02:38,430 --> 00:02:41,810 És így, ha JavaScript kód találkozott, általában, ez végre 55 00:02:41,810 --> 00:02:42,700 azonnal. 56 00:02:42,700 --> 00:02:46,460 >> De ebben az esetben, már nem is ütött még a részét a dom, a 57 00:02:46,460 --> 00:02:51,100 HTML, amelyben a formában egyedülálló azonosító demo nyilvánították. 58 00:02:51,100 --> 00:02:54,320 És így próbálunk végrehajtani a JavaScript kódot, mielőtt a csomópont még 59 00:02:54,320 --> 00:02:58,530 létezik a fa, amely, természetesen, problémás, mert akkor biztos, 60 00:02:58,530 --> 00:03:01,390 az elem önmagában is null abban az időpontban. 61 00:03:01,390 --> 00:03:02,390 >> Szóval, hogyan kell megoldani? 62 00:03:02,390 --> 00:03:03,810 Nos, van egy pár megoldás. 63 00:03:03,810 --> 00:03:07,200 De próbáljuk meg a legegyszerűbb áthelyezésével a script tag a fej 64 00:03:07,200 --> 00:03:11,560 tag a testem, hanem kifejezetten felé alján oldalam testét, így 65 00:03:11,560 --> 00:03:14,170 hogy ez alatt a csomópontok és kérdések. 66 00:03:14,170 --> 00:03:19,930 Pontosabban, most jelölje ki és vágja a nyitott tag és záró tag a script 67 00:03:19,930 --> 00:03:24,720 és helyezze át az egész blokk kód hogy az alján a fájl itt. 68 00:03:24,720 --> 00:03:27,690 >> Most ez nem feltétlenül a legtisztább tervezni, de legalább lesz 69 00:03:27,690 --> 00:03:29,530 jog érvényesítése műveletek sorrendjét. 70 00:03:29,530 --> 00:03:31,495 Mentsük el a fájlt és újratölteni a böngészőben. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Nézzük újra az oldalt újra be a nevem, és ott Hello David visszatért. 73 00:03:40,240 --> 00:03:42,784