![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 1 Dołączył: 17.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
witam.
mam strone na ktorej sporo sie dzieje, wiele linkow i elementow wykonuje ajaxowe i nieajaxowe js funkcje. chcialem napisac uniwersalny podpinacz zdarzenia onclick i wymyslilem cos takiego.
robie takie linki, daje im jakby globalna klase, w id przemycam nazwe funkcji, dodatkowo w title czasem jak trzeba przemycam parametr (np id wiersza do usuniecia itd) i w ten sposob tworze masowe linki bez koniecznosci dawania click na kazdy z nich. niby fajnie dziala ale to moj pomysl. czy to dobry myk? czy tak sie to robi w jakichs bardziej pro rzeczach? moze sa na to inne sposoby? bede wdzieczny za uwagi bardziej pro js graczy ;] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Niepotrzebnie pakujesz to w class, id, title. To są atrybuty, które mają jakiś określony cel.
Po prostu stwórz własne atrybuty typu "action". Dla jQuery nie ma znaczenia czy istnieje dany atrybut w specyfikacji HTML. Co do rozwiązania jeżeli się sprawdza, jest elastyczne i uważasz, że oszczędzasz swój czas to jest ok. Ten post edytował markonix 16.11.2011, 23:50:08 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 1 Dołączył: 17.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkie, o tym nie pomyslalem. moge przemycic wszystko w swoich atrybutach i pobierac to w jq.
ktos ma inne przemyslenia na temat tego pomyslu? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie takie rozwiązania są trochę na siłę...
Stwórz tablicę, w której będziesz trzymał elementy, zdarzenie i funkcje, a następnie funkcję, która doda zdarzenia w zależności od tej tablicy. Własne atrybuty trochę niszczą zgodność ze standardami W3C Jeżeli piszesz dla siebie to ok, ale jak ktoś będzie chciał się tego trzymać to będziesz miał sporo poprawek. Przy większych projektach stara się rozdzielić warstwę HTML, CSS i JS, tak żeby kod związany z obsługą zdarzeń zmieniał tylko w plikach *.js Oczywiście jak robisz to dla siebie nic nie stoi na przeszkodzie - to bardziej kwestia wygody. Jeżeli to ogarniesz to jest ok. Gorzej, gdy robisz coś w zespole i ktoś w ogóle nie rozumie Twojego kodu ![]() Pozdrawiam i przemyśl to sobie. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 1 Dołączył: 17.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
kamil4u, mozesz napisac przykladowy kawalek takiego kodu ktory bedzie to robil na tablicy?
poza tym czy z tego nie zrobi sie troche inny rodzaj balaganu. bo teraz mam nazwe funkcji zaraz przy linku i jest to w miare wygodne... a tak bede ja mial gdzies tam w zewnetrznej tablicy. poza tym jakos musze rozpoznawac chyba te elementy wiec czy to nie wyjdzie na to samo? hmm. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Jak pisałem to bardziej kwestia wygody + ew. pracy w zespole.
Można to zrobić np. tak: Kod var events = [ { 'element': 'moje_id', 'event': 'click', 'function': test1 }, { 'element': 'moje_id2', 'event': 'keypress', 'function': test2 } ]; funkcja_przerbiająca_tablice_na_zdarzenia( events ); To tylko luźna propozycja. Można ją zmieniać wedle gustu i wygody. Dzięki temu masz wszystko w jednym miejscu i łatwo cokolwiek edytować. Jeżeli używasz np. jquery to wtedy taka propozycja może wydawać się nie potrzebna. Osobiście dodaję zdarzenia w różny sposób w zależności od projektu. Ten powyższy zastosowałem dopiero raz i na dodatek nie dokończyłem projektu. Każdy sposób ma jakieś wady. Wady Twojego pomysłu podałem, jeżeli Ci nie przeszkadzają to jest jak najbardziej ok. Wady mojego: duża liczba podstron = częściowy śmietnik. Wtedy skorzystałem z niego w aplikacji. Pozdrawiam PS. Napisałem swój post, żebyś przemyślał decyzję - nie koniecznie chcę Cię od niego odwieść. Warto myśleć przyszłościowo przy pisaniu funkcji - ja się już o tym boleśnie przekonałem ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:46 |