Napríklad, keď vytvárate ajax na čítanie zoznamu správ, je za každou správou tlačidlo odpoveď, trieda je "reply", ak použijete $(".reply").click(function(){ //do something... }), pravdepodobne tlačidlo odpoveď v zozname načítanom Ajaxom neskôr, udalosť kliknutia bude neplatná. V skutočnosti je najjednoduchší spôsob napísať onclick="" priamo do tagu, ale napísať to je vlastne trochu málo a najlepší spôsob je priradiť klikaciu udalosť k názvu triedy. Existujú dva spôsoby, ako vyriešiť problém, že dynamicky pridávané prvky v jquery nemôžu spustiť udalosti, a to nasledovne: Pre lepšiu prezentáciu povedzme, že máte kód s nasledujúcou štruktúrou pod telom určitej stránky:
Metóda 1: Použite živé použitie Funkcia live() priradí k vybranému prvku jeden alebo viac obslúžnikov udalostí a určuje, ktoré funkcie sa majú spustiť, keď k týmto udalostiam dôjde. Funkcia live() sa používa na zladenie aktuálnych a budúcich prvkov voliča. Napríklad prvky vytvorené dynamicky pomocou skriptov. Implementácia je nasledovná:
Metóda 2: Použitie Udalosť môžete naviazať na jej rodiča alebo telo metódou zapnutia, nasledovne:
Teraz môžete skúsiť zistiť, či bol problém vyriešený, dúfam, že vám tento článok naozaj pomôže.
Druhý, ktorý používam, je viazanie rodičovského elementu...
|