Na przykład, gdy tworzysz ajax do odczytu listy wiadomości, po każdej wiadomości pojawia się przycisk odpowiedzi, klasa to "reply", jeśli użyjesz $(".reply").click(function(){ //do something... }), prawdopodobnie przycisk odpowiedzi z listy ładowanej przez Ajax, zdarzenie kliknięcia będzie nieważne. W rzeczywistości najprostszym sposobem jest wpisanie onclick="" bezpośrednio w tagu, ale napisanie tego jest trochę za mało, a najlepszym sposobem jest przypisanie zdarzenia kliknięcia do nazwy klasy. Istnieją dwa sposoby rozwiązania problemu, że dynamicznie dodawane węzły elementów w jquery nie mogą wywoływać zdarzeń, w następujący sposób: Dla lepszej prezentacji załóżmy, że masz kod o następującej strukturze pod treścią danej strony:
Metoda 1: Używaj na żywo Funkcja live() wiąże jeden lub więcej obsługi zdarzeń z wybranym elementem i określa, które funkcje mają się uruchamiać w momencie tych zdarzeń. Funkcja live() służy do dopasowania bieżących i przyszłych elementów selektora. Na przykład elementy tworzone dynamicznie za pomocą skryptów. Implementacja wygląda następująco:
Metoda 2: Użycie na Możesz przypisać zdarzenie do jego nadrzędnego lub ciała metodą on, w następujący sposób:
Teraz możesz spróbować sprawdzić, czy problem został rozwiązany, mam nadzieję, że ten artykuł naprawdę ci pomoże.
Drugą, której używam, jest przypisanie elementu poziomu nadrzędnego...
|