Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQ] jak podpinac clicki do linkow
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
DBR
robie strone na ktorej wiele sie dzieje, mam sporo linkow ktore wywoluja rozne funkcje js, ktore wczytuja rozne dane itd. jak mam podpinac zdarzenia klikniecia w link do jakiejs funkcji?

  1. <a href="#" onclick="return jakasFunkcja();">link</a>
  2.  
  3. function jakasFunkcja()
  4. {
  5. // jakis ajax czy cos
  6. return false;
  7. }


i tak do kazdego linka? czy lepiej:

  1. <a href="#" id="jakis_link">link</a>
  2.  
  3. $("document").ready(function(){
  4. $("#id").click(function(){
  5. jakasFunkcja();
  6. });
  7. });


ten drugi sposob jest ok, ale czy majac wiele takich elementow na stronie (dajmy na to 10 i wiecej) jquery nie zajedzie sie bo bedzie musial wyszukiwac te elementy w celu podpiecia zdarzenia click do nich? czy moge spokojnie uzywac tego w ten sposob bo jest wygodny i nie przejmowac sie wydajnoscia? a moze jest jakis lepszy sposob na to z ktorego wszyscy korzystaja?
kamil4u
Przy 10 nie, przy 10 tysiącach możliwe smile.gif

Zawsze może użyć np. klasy i:
Kod
$(".klasa").click(function(){
jakasFunkcja();
});


Generalnie wszytko zależy od konkretnego przypadku..

Jeśli pytasz ogólnie to nikt z nas ze 100% pewnością nie odpowie Ci na pytanie, jeżeli jednak masz jakiś konkretny problem to nam go przedstaw, a my postaramy się coś optymalnego wymyśleć.

Ten sposób jest względnie optymalny i możesz z niego w spokoju korzystać.
DBR
no zapomnialem tez wspomniec ze chodzi mi nie tylko o linki i onclick do nich ale tez inne zdarzenia jak mouseover, focus, blur itd.

ogolnie tak jak pisalem mam strone gdzie troche linkow wywoluje jakies funkcje. dodatkowo mam troche elementow po ktorych cos sie dzieje jak na nie najade (wyskakuje dropdown menu np), jak w nie klikne (pojawia sie jakis overlay popup), jak wejde w inputa tekstowego (zmienia sie domyslny tekst 'wpisz tekst' na puste pole) itd.

ale skoro ten sposob z $("#element, .klasa").jakieszdarzenie(...) jest ok i w miare wydajny to bede go stosowal ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.