1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> GŁOŚNIK 1: Teraz w tym ostatnim przykładzie, Przypomnijmy, że przeplatają się niektóre 3 00:00:03,000 --> 00:00:07,170 Kod JavaScript wewnątrz mojego kodu HTML, W szczególności, wewnątrz wartości 4 00:00:07,170 --> 00:00:10,460 atrybut o nazwie Na Prześlij dla tego tagu formularza. 5 00:00:10,460 --> 00:00:12,850 Teraz dla małych stron, w tym nie jest taka wielka sprawa. 6 00:00:12,850 --> 00:00:15,950 Ale jak już strona internetowa staje się bardziej skomplikowane, po prostu oddanie 7 00:00:15,950 --> 00:00:19,660 Kod JavaScript tu i tam w środku wartości atrybutów nie jest 8 00:00:19,660 --> 00:00:20,830 najlepszy projekt. 9 00:00:20,830 --> 00:00:23,440 Najlepiej jeśli czynnikiem, który na zewnątrz i przynajmniej umieścić go wewnątrz 10 00:00:23,440 --> 00:00:25,200 tag centralnie skrypt. 11 00:00:25,200 --> 00:00:26,080 >> Jak to zrobić? 12 00:00:26,080 --> 00:00:30,040 Dobrze wróćmy do mojego tagu formularza i najpierw usunąć ten atrybut i jego 13 00:00:30,040 --> 00:00:31,780 cenią w ogóle. 14 00:00:31,780 --> 00:00:35,730 Potem się tutaj, a nie określają Funkcja o nazwie Greet, niech wiszą na 15 00:00:35,730 --> 00:00:39,405 do linii kodu, który ostatecznie mamy będzie nadal chcesz wykonać i wymienić 16 00:00:39,405 --> 00:00:41,560 Funkcja następująco Greet. 17 00:00:41,560 --> 00:00:48,190 Document.get elementu przez ID cytatu demo - 18 00:00:48,190 --> 00:00:52,410 gdzie demo, przypomnijmy, jest wyjątkowa identyfikator dla samej postaci - 19 00:00:52,410 --> 00:00:56,600 kropka na przedstawienia, które przypominają to nazwa procedury obsługi zdarzenia, w których 20 00:00:56,600 --> 00:00:57,710 jesteśmy zainteresowani. 21 00:00:57,710 --> 00:01:01,990 I niech to przypisać, że w dniu przedstawienia obsługi wartość, która jest w rzeczywistości 22 00:01:01,990 --> 00:01:03,740 działać sam. 23 00:01:03,740 --> 00:01:06,390 >> Zauważcie, że nie jestem w rzeczywistości wywołanie funkcji tutaj. 24 00:01:06,390 --> 00:01:10,650 Ja zamiast definiowania anonimowy, inaczej znany jako funkcji lambda 25 00:01:10,650 --> 00:01:14,100 określając między tymi klamrach Pęczek kodu, który powinien 26 00:01:14,100 --> 00:01:15,490 faktycznie wykonywany. 27 00:01:15,490 --> 00:01:18,500 W szczególności, kod chciałbym do wykonania jest to, że wiersz, który miałem 28 00:01:18,500 --> 00:01:23,370 przed, a następnie dodajmy do tego return false, tak, że ta forma nie jest 29 00:01:23,370 --> 00:01:26,950 ostatecznie przedłożone do końca Remote Web Serwer w tradycyjny sposób. 30 00:01:26,950 --> 00:01:30,345 >> Załóżmy teraz zapisać ten plik, otwórz go w przeglądarce, i zobaczyć co się dzieje. 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 Załóżmy teraz wpisać moje imię, David, Zatwierdź. 34 00:01:43,060 --> 00:01:46,900 I nic się nie stało wyjątkiem URL mojej strony wydaje się 35 00:01:46,900 --> 00:01:52,580 zmieniły się tak, jakby forma była faktycznie złożone do tego samego pliku. 36 00:01:52,580 --> 00:01:53,870 >> Teraz, dlaczego może to być? 37 00:01:53,870 --> 00:01:55,340 Cóż potrzebuję trochę więcej informacji. 38 00:01:55,340 --> 00:01:58,700 Więc śmiało i otwarcie Chrome Developer Tools, aby można było właściwie 39 00:01:58,700 --> 00:02:01,440 spojrzeć na okna konsoli, aby zobaczyć jeśli zrobiłem coś złego. 40 00:02:01,440 --> 00:02:03,330 Można uzyskać dostęp, które poprzez kilka sposobów. 41 00:02:03,330 --> 00:02:07,250 Jednym z nich jest za pośrednictwem tego menu tutaj następnie w menu Narzędzia, a następnie w dół do 42 00:02:07,250 --> 00:02:08,509 Developer Tools. 43 00:02:08,509 --> 00:02:12,890 >> I zauważyć tutaj w zakładce Console, nieprzechwycony jest błąd typu, nie może 44 00:02:12,890 --> 00:02:15,390 ustawić właściwość na przedstawienia z null. 45 00:02:15,390 --> 00:02:16,900 Teraz, dlaczego może to być? 46 00:02:16,900 --> 00:02:21,380 Dobrze w moim kodu źródłowego tutaj, informacja że na submit myślę jest 47 00:02:21,380 --> 00:02:25,360 Właściwość elementu, którego unikalny identyfikator jest demo. 48 00:02:25,360 --> 00:02:27,810 Element znowu tylko węzeł w drzewie. 49 00:02:27,810 --> 00:02:30,870 >> Tak więc wydaje się, że moja przeglądarka nie że ten element 50 00:02:30,870 --> 00:02:32,500 lub węzeł jeszcze istnieje. 51 00:02:32,500 --> 00:02:33,790 I rzeczywiście, nie. 52 00:02:33,790 --> 00:02:37,690 Przypomnijmy, że strona internetowa jest analizowany lub przeczytać przez przeglądarkę internetową, z góry do dołu, 53 00:02:37,690 --> 00:02:38,430 od lewej do prawej. 54 00:02:38,430 --> 00:02:41,810 I tak, gdy kod JavaScript jest spotkałem, zazwyczaj jest to wykonywane 55 00:02:41,810 --> 00:02:42,700 od razu. 56 00:02:42,700 --> 00:02:46,460 >> Ale w tym przypadku nawet nie dostał Jeszcze do części dom, 57 00:02:46,460 --> 00:02:51,100 HTML, w którym postać z unikalnym demo identyfikator został ogłoszony. 58 00:02:51,100 --> 00:02:54,320 I tak staramy się wykonywać moje Kod JavaScript przed tym węźle, nawet 59 00:02:54,320 --> 00:02:58,530 istnieje w drzewie, które, oczywiście, problematyczne, ponieważ wtedy na pewno, 60 00:02:58,530 --> 00:03:01,390 sam element będzie null w tym momencie. 61 00:03:01,390 --> 00:03:02,390 >> Tak, jak to naprawić? 62 00:03:02,390 --> 00:03:03,810 Cóż mamy kilka rozwiązań. 63 00:03:03,810 --> 00:03:07,200 Ale spróbujmy najprostszych poprzez przeniesienie mój tag skrypt z głowy 64 00:03:07,200 --> 00:03:11,560 tag z moim ciałem, ale konkretnie, w kierunku Spód ciała jest więc moja strona 65 00:03:11,560 --> 00:03:14,170 że jest to poniżej węzłów i pytania. 66 00:03:14,170 --> 00:03:19,930 W szczególności, niech podświetlić i cięcia otwarty i blisko tag tag script 67 00:03:19,930 --> 00:03:24,720 i przenieść ten cały blok kodu na dole pliku tutaj. 68 00:03:24,720 --> 00:03:27,690 >> Teraz nie jest to konieczne do najczystszych projektowania, ale przynajmniej będzie 69 00:03:27,690 --> 00:03:29,530 egzekwować właściwą kolejność operacji. 70 00:03:29,530 --> 00:03:31,495 Załóżmy, zapisać plik i przeładować w przeglądarce. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Chodźmy odświeżyć stronę, ponownie wejście nazywam, i tam, Witaj David powraca. 73 00:03:40,240 --> 00:03:42,784