Наприклад, коли ви створюєте ajax для читання списку повідомлень, після кожного повідомлення є кнопка відповіді, клас називається «reply», якщо використовувати $(".reply").click(function(){ //do something...}), ймовірно, кнопка відповіді у списку, завантаженому пізніше ajax, подія кліку буде недійсною. Насправді, найпростіший спосіб — написати onclick="" безпосередньо в тег, але написати це досить мало, і найкращий спосіб — прив'язати подію кліку до назви класу. Існує два способи розв'язати проблему, що динамічно додані вузли елементів у jquery не можуть запускати події, а саме: Для кращої презентації, припустимо, у вас є код із такою структурою під текстом певної сторінки:
Метод 1: Використовувати живий режим Функція live() прив'язує один або кілька обробників подій до вибраного елемента і визначає, які функції запускати під час цих подій. Функція live() застосовується для зіставлення поточних і майбутніх елементів селектора. Наприклад, елементи, створені динамічно за допомогою скриптів. Реалізація виглядає так:
Метод 2: Використання на Ви можете прив'язати подію до її батьківського або тіла за допомогою методу on, наступним чином:
Тепер ви можете спробувати перевірити, чи вирішено проблему, сподіваюся, ця стаття справді вам допоможе.
Другий я використовую для зв'язку елемента рівня батьків...
|