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 может все еще работать, и в этом случае ваш селектор / порядок событий правильный, просто настройте его на уровне документа.

Другие вопросы по тегам