For eksempel, når man laver en ajax til at læse beskedlisten, er der en svar-knap efter hver besked, klassen er "reply", hvis du bruger $(".reply").click(function(){ //do something... }), formodentlig svar-knappen i listen, som ajax senere indlæste, vil klik-eventet være ugyldigt. Faktisk er den nemmeste måde at skrive onclick="" direkte i tagget, men at skrive dette er faktisk lidt lavt, og den bedste måde er at binde en klikbegivenhed til klassenavnet. Der er to måder at løse problemet på, at dynamisk tilføjede elementnoder i jquery ikke kan udløse begivenheder, som følger: For en bedre præsentation, lad os sige, at du har kode med følgende struktur under brødteksten på en bestemt side:
Metode 1: Brug live Live()-funktionen binder en eller flere hændelseshåndterere til det valgte element og specificerer, hvilke funktioner der skal køres, når disse hændelser opstår. Live()-funktionen gælder for at matche de nuværende og fremtidige elementer i selectoren. For eksempel elementer oprettet dynamisk gennem scripts. Implementeringen er som følger:
Metode 2: Brug på Du kan binde en begivenhed til dens forelder eller krop via on-metoden, som følger:
Nu kan du prøve at se, om problemet er løst, jeg håber, denne artikel virkelig kan hjælpe dig.
Den anden jeg bruger, er til at binde elementet på forældreniveau...
|