De exemplu, când faci un ajax pentru a citi lista de mesaje, există un buton de răspuns după fiecare mesaj, clasa este "răspunde", dacă folosești $(".reply").click(function(){ //do something... }), probabil butonul de răspuns din lista încărcată ulterior de ajax, evenimentul click va fi invalid. De fapt, cea mai simplă metodă este să scrii onclick="" direct în etichetă, dar scrierea asta este de fapt puțin jos, iar cea mai bună metodă este să asociezi un eveniment click la numele clasei. Există două moduri de a rezolva problema că nodurile de element adăugate dinamic în jquery nu pot declanșa evenimente, după cum urmează: Pentru o prezentare mai bună, să presupunem că ai cod cu următoarea structură sub corpul unei anumite pagini:
Metoda 1: Folosește live Funcția live() leagă unul sau mai mulți handleri de evenimente la elementul selectat și specifică ce funcții să ruleze atunci când apar acele evenimente. Funcția live() se aplică potrivirii elementelor curente și viitoare ale selectorului. De exemplu, elemente create dinamic prin scripturi. Implementarea este următoarea:
Metoda 2: Utilizare pe Poți lega un eveniment de părintele sau corpul său prin metoda on, după cum urmează:
Acum poți încerca să vezi dacă problema a fost rezolvată, sper că acest articol te poate ajuta cu adevărat.
Al doilea pe care îl folosesc este pentru a lega elementul de nivel părinte...
|