Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jq] masowe podpinanie onclick do linkow
DBR
post
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.

  1. <a href="#" class="myEvent" id="funkcjaA">link A</a>
  2. <a href="#" class="myEvent" id="funkcjaB">link B</a>
  3.  
  4. $(document).ready(function(){
  5.  
  6. $("a.myEvent").click(function(){
  7. var function_name = $(this).attr("id");
  8. var function_parametr = $(this).attr("title");
  9.  
  10. window[function_name](function_parametr);
  11.  
  12. return false;
  13. });
  14.  
  15. });
  16.  
  17. function funkcjaA()
  18. {
  19. //foo
  20. }
  21.  
  22. function funkcjaB()
  23. {
  24. //bar
  25. }


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 ;]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kamil4u
post
Post #2





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 (IMG:style_emoticons/default/tongue.gif)

Pozdrawiam i przemyśl to sobie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 15:33