Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт не действует на новые элементы 
:(
    Опции темы
alexesuser
Дата 24.8.2021, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 3.2.2009

Репутация: нет
Всего: нет



Добрый день.
Проблема следующая. На форме есть элементы с классом "date", по которому срабатывает скрипт datepicker.
Добавил кнопку для добавления аналогичных полей. Но в добавленных полях календарь не срабатывает. С чем может быть связано?
PM MAIL   Вверх
Oldshelf
Дата 24.8.2021, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.4.2018

Репутация: нет
Всего: 3



Либо на элементах с классом "date" установлен onclick, вызывающий datepicker, либо есть скрипт, расположенный после формы, который перебирает все элементы и, при нахождении класса, ставит на них обработчики.
PM MAIL WWW   Вверх
_zorn_
Дата 28.8.2021, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 1
Всего: 12



Скрипт срабатывает (навешивает события) на момент вызова. Наверное какой нибудь jQuery типа $.datetime('MY-SELECTOR')
Так вот он отработает на момет когда элементы существуют. На новые элементы конечно ничего не навесит. 
У jQuery есть прикольный метод delegate, который решает данную проблему. 
На чистом JS пока не знаю хорошую альтернативу. Хотя используя например vue такое и не понадобится )

Это сообщение отредактировал(а) _zorn_ - 28.8.2021, 16:37
PM MAIL   Вверх
Rockie
Дата 10.12.2022, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: нет
Всего: 31



Цитата(_zorn_ @  28.8.2021,  16:28 Найти цитируемый пост)
У jQuery есть прикольный метод delegate, который решает данную проблему. 

да, для jQuery сработает что-то такое:

Код

$('body').on('click', 'a.myclass', function() {
    // do something
});

https://stackoverflow.com/questions/1359018...nts-with-jquery



--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1266 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.