jquery-ui-touch-punch и.on() не работают на iPad
У меня есть пользовательская веб-панель управления, которая в значительной степени опирается на jQuery, jQuery UI и jquery-ui-touch-punch. Все работает, кроме событий нажатия на динамическом контенте (добавленные элементы) на iPad.
Так что это работает везде
$('.foo').click( function() {
//whatever
});
но события на динамическом контенте не работают на iPad, как это
$('body').on('click', '.foo', function() {
//whatever
});
Панель мониторинга отслеживает данные в режиме реального времени, поэтому события на динамических элементах являются обязательными. Есть идеи как починить?
2 ответа
Я попытался делегировать () в соответствии с ответом @elzi, но это не сработало. Увидел bind() в документации jquery на том же дыхании, что и on() и делегат (), попробовал и все работает!!
$( ".foo" ).bind( "click", function() {
//whatever
});
В зависимости от версии jQuery вам может понадобиться delegate
, Кроме того, цель на уровне документа и обратный порядок выбора / события, например:
$(document).delegate('.foo', 'click', function() {
//whatever
});
on
может все еще работать, и в этом случае ваш селектор / порядок событий правильный, просто настройте его на уровне документа.