Na primer, ko ustvarjate ajax za branje seznama sporočil, je po vsakem sporočilu gumb za odgovor, razred je "reply", če uporabite $(".reply").click(function(){ //do something... }), verjetno gumb za odgovor na seznamu, ki ga kasneje naloži Ajax, bo dogodek klika neveljaven. Pravzaprav je najlažji način, da napišeš onclick="" neposredno v oznako, vendar je pisanje tega pravzaprav nekoliko premalo, najboljši način pa je, da klik dogodek vežeš na ime razreda. Obstajata dva načina za rešitev problema, da dinamično dodana elementna vozlišča v jqueryju ne morejo sprožiti dogodkov, in sicer: Za boljšo predstavitev recimo, da imate kodo z naslednjo strukturo pod ohišjem določene strani:
Metoda 1: Uporaba v živo Funkcija live() veže enega ali več obravnavalcev dogodkov na izbrani element in določi, katere funkcije se bodo izvajale, ko se ti dogodki zgodijo. Funkcija live() se uporablja za ujemanje trenutnih in prihodnjih elementov izbirnika. Na primer, elementi, ustvarjeni dinamično preko skript. Izvedba je naslednja:
Metoda 2: Uporaba na Dogodek lahko povežete z njegovim staršem ali telesom z metodo vklopa, kot sledi:
Zdaj lahko poskusite preveriti, ali je težava rešena, upam, da vam bo ta članek res pomagal.
Druga, ki jo uporabljam, je za vezavo elementa nadrejenega nivoja...
|