Проблема в том, что у меня есть несколько динамически создаваемых наборов входных тегов, и у меня также есть функция, которая должна запускать каждый раз, когда изменяется входное значение.
$('input').on('change', function() {
// Does some stuff and logs the event to the console
});
Однако .on('change')
он не запускается для каких-либо динамически создаваемых входных данных, а только для элементов, которые присутствовали при загрузке страницы. К сожалению, это оставляет меня в некотором затруднении, так как .on
предназначено для замены, .live()
и .delegate()
все они являются обертками для .bind()
: /
Кто-нибудь еще имел эту проблему или знает решение?
источник
$(document).on({ change: handleChange }, 'input');
плюс функцияconst handleChange = (event) => { $(event.target)...
Приятно избегать хлопотthis
.Использовать это
источник
$('#id')
код, а не'#id'
Вы можете применить любой один подход:
источник
источник
Просто чтобы прояснить потенциальную путаницу. Это работает, только когда элемент присутствует в DOM load:
Когда элемент загружается динамически позже, вы можете использовать:
источник
источник
Вы можете использовать событие input, которое происходит, когда элемент получает пользовательский ввод.
документация от w3
источник
ты можешь использовать:
Это работает со мной.
источник