Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]JQUERY - zdarzenie podpiete do linkow działa tylko na niektorych
Forum PHP.pl > Forum > Przedszkole
michat34
jest skrypt ktory tworzy dynamiczne linki. chcialbym zeby po kliknieciu na te nowe linki cos sie działo.
podpiąłem wiec zdarzenie $('a').....

i problem jest taki ze działa mi ono dla linkow ktore napisałem w htmlu recznie, ale dla tych nowo tworzonych nie działa.

czy nowo tworzone obiekty nie sa obejmowane takimi zdarzeniami?
#luq
Podaj gdzieś live ten skrypt, będzie łatwiej pomóc.

Taka mała porada:
[JAVASCRIPT] pobierz, plaintext
  1. $('#obr').innerHtml = '';
[JAVASCRIPT] pobierz, plaintext


będzie szybsze niż remove();
b4rt3kk
Cytat(michat34 @ 23.10.2012, 18:10:40 ) *
jest skrypt ktory tworzy dynamiczne linki. chcialbym zeby po kliknieciu na te nowe linki cos sie działo.
podpiąłem wiec zdarzenie $('a').....

i problem jest taki ze działa mi ono dla linkow ktore napisałem w htmlu recznie, ale dla tych nowo tworzonych nie działa.

czy nowo tworzone obiekty nie sa obejmowane takimi zdarzeniami?


W jaki sposób są tworzone te linki? PHP czy JS? Opakowałeś całość skryptu w:

  1. $(function(){
  2. $('a').click(funkcja);
  3. });

Greg0
Jeśli tworzysz linki dynamicznie i chcesz żeby działały na nich eventy już zdefiniowane musisz je definiować w ten sposób
[JAVASCRIPT] pobierz, plaintext
  1. $('a').live('click', function() {
  2. //tresc
  3. });
[JAVASCRIPT] pobierz, plaintext
sh3d2
wg dokumentacji jquery
Cytat
As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().


wykorzystujac metode .on() wywolanie powinno wygladac tak
Kod
$("body").on("click", "a", function(){
// ...
})
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.