La această întrebare a fost deja răspuns:
Solicitați o modalitate convenabilă de a suspenda evenimentele pe un element după adăugarea sa dinamică. De exemplu, după descărcarea conținutului prin ajax.
Trebuie să lucrez similar cu acest cod: $ ('Colorbox') Colorbox ();
Ie Îmi angajez evenimentele prin $ (document) .on (). astfel încât acestea să funcționeze. Evenimentele plug-in-urilor terță parte sunt implementate diferit și, prin urmare, nu sunt executate după descărcarea dinamică a conținutului.
În prezent, folosesc $ (document) .ajaxSuccess () pentru a lega evenimentele de la plug-in-uri terțe după descărcarea de conținut folosind ajax.
Mă întreb dacă există o soluție mai elegantă la această problemă.
O întrebare similară a fost întrebată mai devreme și un răspuns a fost deja primit. Dacă răspunsurile nu sunt exhaustive, adresați-vă o nouă întrebare.
Există mai multe opțiuni, cum puteți suspenda un eveniment pe un element dinamic.
Mai întâi, agățatul este agățat de un anumit eveniment, și anume:
De asemenea, puteți juca cu evenimentele DOM: evenimente DOM.
jQuery funcționează cu elementele care erau pe pagină la momentul inițializării codului.
Dacă se adaugă elemente noi - folosind ajax sau funcții precum append () - atunci evenimentele nu le afectează.
Cum pot lucra cu elementele DOM noi create?
Se pare că elementele dinamice utilizează manipularea evenimentelor delegate.
Pe scurt, sensul delegației persoanele care manipulează „agățate“ în elementele lipsă din dom, ci pe obiectul părinte existent.
răspunsul este dat la 26 septembrie, la ora 15:25
Încercați să apelați direct:
jquery live este deja depășit.
Este mai bine să o folosești
jquery live ("clic", apel invers) sau pe ("clic", apel invers)