Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 15235|Відповідь: 1

[Jquery] Існує два способи розв'язати проблему, що динамічно додані вузли елементів у jquery не можуть запускати події

[Копіювати посилання]
Опубліковано 28.06.2016 12:43:24 | | |
Наприклад, коли ви створюєте ajax для читання списку повідомлень, після кожного повідомлення є кнопка відповіді, клас називається «reply», якщо використовувати $(".reply").click(function(){ //do something...}), ймовірно, кнопка відповіді у списку, завантаженому пізніше ajax, подія кліку буде недійсною.
Насправді, найпростіший спосіб — написати onclick="" безпосередньо в тег, але написати це досить мало, і найкращий спосіб — прив'язати подію кліку до назви класу.
Існує два способи розв'язати проблему, що динамічно додані вузли елементів у jquery не можуть запускати події, а саме:
Для кращої презентації, припустимо, у вас є код із такою структурою під текстом певної сторінки:


Метод 1: Використовувати живий режим
Функція live() прив'язує один або кілька обробників подій до вибраного елемента і визначає, які функції запускати під час цих подій. Функція live() застосовується для зіставлення поточних і майбутніх елементів селектора. Наприклад, елементи, створені динамічно за допомогою скриптів.
Реалізація виглядає так:


Метод 2: Використання на
Ви можете прив'язати подію до її батьківського або тіла за допомогою методу on, наступним чином:


Тепер ви можете спробувати перевірити, чи вирішено проблему, сподіваюся, ця стаття справді вам допоможе.

Другий я використовую для зв'язку елемента рівня батьків...





Попередній:об'єкти js Json взаємозамінюються зі рядками Json
Наступний:JS-число передається в метод, і значення додається на один або мінус один
Опубліковано 08.07.2016 14:34:49 |
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com