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 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 (IMG:style_emoticons/default/smile.gif)
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: 2.10.2025 - 20:47