Path: csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Roman Tyczka Newsgroups: pl.comp.lang.javascript Subject: Re: Wczytywanie =?UTF-8?B?c2tyeXB0w7N3?= Date: Mon, 10 Sep 2018 20:35:56 +0200 Organization: ATMAN - ATM S.A. Lines: 53 Sender: romek@tyczka.no.found Message-ID: <1pv169vspc3do.dlg@tyczka.com> References: <82x3gdp9ljso.dlg@tyczka.com> <20180910115046.10abb9f6@spam.no> <20180910140506.61b60a81@spam.no> <20180910201852.0ee73a8f@spam.no> NNTP-Posting-Host: ip-94-75-90-137.wave.com.pl Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Trace: node1.news.atman.pl 1536604556 28697 94.75.90.137 (10 Sep 2018 18:35:56 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Mon, 10 Sep 2018 18:35:56 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.84 Xref: csiph.com pl.comp.lang.javascript:3520 On Mon, 10 Sep 2018 20:18:52 +0200, rePeter wrote: >>>>> IMHO, najlepiej na końcu strony przed samym >>>>> jQuery i pozostałe skrypty. >>>> >>>> To jest trochę kłopot. Bo jak rozwiązujecie taki układ, że strona składa >>>> się z kilku fragmentów, będących szablonami i w nich następują odwołania do >>>> jQuery, które podpinają zdarzenia pod np. buttony formularzy? One są w >>>> środku strony, więc jak zaczynają działać to jQuery jeszcze nie będzie >>>> załadowane, bo ładuje się na końcu i bach.. błąd. >>>> >>> >>> Skrypty muszą zaczekać aż wczyta się cały DOM, >>> czyli albo ładować się na końcu strony >>> albo, jeśli ładowane w header, czekać aż reszta strony się załaduje. >>> np. $(document).ready lub $(window).load >>> W przeciwnym wypadku skrypt może odwoływać się do elementu który jeszcze nie został >>> wczytany/utworzony. >> >> Aj noł... >> Jeszcze raz, postaram się lepiej opisać. >> Używam szablonów Mustache, one pozwalają osadzać jedne szablony w innych >> przez składnię: >> >> >> >> >> >> {{> szablon naglowka}} >> {{> szablon menu}} >> {{> szablon informacji X}} >> {{> szablon stopki}} >> {{> szablon z includami jQuery}} >> >> >> I teraz za pomocą szablonu "szablon z includami jQuery" ładuję jQuery na >> końcu. >> Ale już w szablonie "szablon informacji X" już chcę przypisać zdarzenia >> click do buttona. I nie mogę. >> Jak to obejść? >> > > jQuery możesz załadować w nagłówkach, byleby skrypty z niego korzystające odpalać po > załadowaniu elementu do którego się odnoszą. Powinno zadziałać. No, że zadziała to wiem, tak zresztą teraz mam, tylko właśnie spotykałem się z twierdzeniem, że skrypty to na końcu stąd ten wątek zacząłem, żeby to rozjaśnić. I nadal nic nie wiem. Bo niby warto na końcu, ale nie można, gdy stronka trochę bardziej skomplikowana niż hello world. -- pozdrawiam Roman Tyczka