Για παράδειγμα, όταν κάνετε ένα ajax για να διαβάσετε τη λίστα μηνυμάτων, υπάρχει ένα κουμπί απάντησης μετά από κάθε μήνυμα, η κλάση είναι "απάντηση", εάν χρησιμοποιείτε $(".reply").click(function(){ //do something... }), πιθανώς το κουμπί απάντησης στη λίστα που φορτώθηκε από το ajax αργότερα, το συμβάν κλικ θα είναι άκυρο. Στην πραγματικότητα, ο ευκολότερος τρόπος είναι να γράψετε onclick="" απευθείας στην ετικέτα, αλλά το να γράψετε αυτό είναι στην πραγματικότητα λίγο χαμηλό και ο καλύτερος τρόπος είναι να συνδέσετε ένα συμβάν κλικ στο όνομα της κλάσης. Υπάρχουν δύο τρόποι επίλυσης του προβλήματος ότι οι δυναμικά προστιθέμενοι κόμβοι στοιχείων στο jquery δεν μπορούν να ενεργοποιήσουν συμβάντα, ως εξής: Για καλύτερη παρουσίαση, ας υποθέσουμε ότι έχετε κώδικα με την ακόλουθη δομή κάτω από το σώμα μιας συγκεκριμένης σελίδας:
Μέθοδος 1: Χρησιμοποιήστε ζωντανά Η συνάρτηση live() συνδέει ένα ή περισσότερα προγράμματα χειρισμού συμβάντων με το επιλεγμένο στοιχείο και καθορίζει ποιες συναρτήσεις θα εκτελούνται όταν προκύπτουν αυτά τα συμβάντα. Η συνάρτηση live() ισχύει για την αντιστοίχιση των τρεχόντων και μελλοντικών στοιχείων του επιλογέα. Για παράδειγμα, στοιχεία που δημιουργούνται δυναμικά μέσω σεναρίων. Η υλοποίηση έχει ως εξής:
Μέθοδος 2: Χρήση σε Μπορείτε να συνδέσετε ένα συμβάν με τον γονέα ή το σώμα του μέσω της μεθόδου on, ως εξής:
Τώρα μπορείτε να προσπαθήσετε να δείτε εάν το πρόβλημα έχει λυθεί, ελπίζω ότι αυτό το άρθρο μπορεί πραγματικά να σας βοηθήσει.
Το δεύτερο που χρησιμοποιώ είναι για να δεσμεύσω το στοιχείο γονικού επιπέδου...
|