![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Może dziwnie tytuł brzmi, ale nie wiedziałem, jak to nazwać (IMG:style_emoticons/default/wink.gif) Chodzi mi o to, jak to poprawniej jest? czy i przypisanie onclick w js? Kiedyś się uczyłem z książki o AJAX'ie, że poprawniejsza jest druga metoda, ale w końcu nie wiem, bo większość stron wykorzystuje pierwszą. To jak to w końcu jest? Ten post edytował mat-bi 22.06.2011, 22:10:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś się uczyłem z książki o AJAX'ie, że poprawniejsza jest druga metoda, ale w końcu nie wiem, bo większość stron wykorzystuje pierwszą. To jak to w końcu jest? każdy robi jak komu wygodniej i wszystko zależy od rozmachu jaki będzie miała "aplikacja" napisana w JS... jednak ze swojej strony zalecam bindowanie elementów drzewa DOM z poziomu skryptów... lepiej sobie taki nawyk wyrobić zwłaszcza, jeśli kiedyś miałbyś pisać coś większego i chciałbyś skorzystać z dobrodziejstwa domknięć lub poukrywać pewne funkcje/metody przed światem...
z poziomu html'a nie podepniesz zdarzeń do funkcji jakas1 i jakas2... poza tym, jeśli sobie wyrobisz dobre nawyki to zaczniesz może też buforować w zmiennych elementy drzewa DOM do ponownego ich wykorzystania a nie co chwila szukać je od nowa co jest znaczeni wolniejsze - inna sprawa, że w zasadzie każdy pomija takie kwestie optymalizacji... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie też mi sie wydaje, zę 2 sposób jest trochę lepszy i go zawsze stosuje.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Podstawowe pytanie. Widziałeś gdzieś w specyfikacji HTML by dla elementu A był zdefiniowany atrybut POST_ID?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wiem o tym, dlatego zapytałem sie, co jest poprawniejsze?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
IMO najpoprawniej:
Na dobrą sprawę powinno się korzystać z pierwszego sposobu(1 w JS), ale osobiście, z przyzwyczajenia korzystam z 2(ma odrobinę mniejsze możliwości). Polecam: - https://developer.mozilla.org/pl/DOM/elemen...ddEventListener - http://pornel.net/onclick (ma swoje lata) Ten post edytował kamil4u 24.06.2011, 11:37:37 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Zobacz co jest napisane w pierwszym linku jaki podałem (IMG:style_emoticons/default/smile.gif) - miłej lektury
--edit-- Pozwolę sobie jeszcze dorzucić(dla zainteresowanych): http://webhelp.pl/artykuly/obsluga-zdarzen-w-przegladarkach/ Ten post edytował kamil4u 24.06.2011, 11:49:24 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Wybacz, pisząc pierwszy i drugi sposób myślałem, że odnosisz się do pierwszego postu autora - moje niedoczytanie, przepraszam. (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Spokojnie, znam się na JS trochę, wiem o tym, jak zrobić to w JS (IMG:style_emoticons/default/smile.gif)
Co do @kamil4u, zgodzę się, ale jeżeli mam trochę takich samych linków, których chciałbym za raz oprogramować (np. generowanych przez foreach), a każdy z nich ma inny identyfikator(np. wspomniany już post_id), to co wtedy? @EDIT: tak BTW, jeżeli mam tylko jedną akcję na np. click, nie muszę korzystać z DOM wersja 2 (IMG:style_emoticons/default/smile.gif) Ten post edytował mat-bi 24.06.2011, 16:45:40 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co do @kamil4u, zgodzę się, ale jeżeli mam trochę takich samych linków, których chciałbym za raz oprogramować (np. generowanych przez foreach), a każdy z nich ma inny identyfikator(np. wspomniany już post_id), to co wtedy? Klasa + CSS? Chyba, że pytasz jak to ugryźć od sprawy JS. Sposobów jest wiele, np. stworzyć tablicę trzymającą odpowiednie informacje lub skorzystać z jakiegoś atrybutu - też zgodnie z jego przeznaczeniem. Generalnie chodzi o to, żeby korzystać z elementów HTML zgodnie z ich przeznaczeniem. Link to <a>, a przypisując akcję nie korzystasz z ich funkcjonalności - stąd np. <span>. Cytat @EDIT: tak BTW, jeżeli mam tylko jedną akcję na np. click, nie muszę korzystać z DOM wersja 2 smile.gif Nic nie musisz (IMG:style_emoticons/default/smile.gif) - jest to traktowane jako dobry nawyk, bo np.: - masz czytelniejszy kod - roboty wiedzą co indeksować, a co nie - łatwość w późniejszej edycji - mobilność kodu -> przy wykorzystywaniu przy innych projektach |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Lekko odkopię (IMG:style_emoticons/default/smile.gif)
Ostatnio nad tym myślałem i wymyśliłem - a może np. id posta trzymać w JSON'ie ? Jak myślicie? Jako identyfikator pola np. id węzła |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Opisz co chcesz dokładnie osiągnąć i w jakim przypadku. Często nie opłaca się tworzyć czegoś zaawansowanego do mniejszego projektu - wszystko zależy co potrzebujesz zrobić.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
dokładnie tak jak napisał @kamil4u - zależy co miałeś na myśli...
zakładając, że całe drzewo DOM budujesz na podstawie formatu JSON to nawet id'ki można pominąć i w tym formacie stworzyć fikcyjne id'ki których nie przypisze się własnością a się rozpozna węzeł drzewa - fakt, przeczytałem to drugi raz i niejasno piszę więc głupoty - ale wszystko zależy od założeń - podobnie jeśli chcesz mieć źródło czystego xhtml'a to najprościej załadować dane z html'a i własności drzewa dom do formatu pośredniego (naturalnym jest w js json) i skorzystać z jakichś widoków i przekształcić to w xhtml'a - też głupoty piszę - ale tak mogą powiedzieć tylko Ci co piszą tylko na jedną przeglądarkę - akurat mechanika js wszędzie jest taka sama - ale nie wszystkie rzeczy wszędzie są zaimplementowane i nie wszędzie otrzymujemy ten sam kod html z innerHTML i jego odmian jak html() w jQuery (mam na myśli różnice w przeglądarkach).... sorki za offtopick ;p |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:07 |