Я использую jQuery Mobile и Backbone JS для проекта. В основном это работает, используя событие jQuery Mobile 'pagebeforeshow' для запуска правильного просмотра Backbone. В представлении Backbone для этой конкретной страницы jQuery Mobile она выполняет все необходимые динамические операции. Некоторые вещи, которые делают представления, - это извлечение определенных битов с использованием системы шаблонов Underscore.
Это все замечательно до тех пор, пока я не потяну кусочки формы, используя систему шаблонов. Например, набор динамических переключателей (которые создаются из коллекции Backbone). Эти радиокнопки я хочу оформить, используя то, что предлагает jQuery Mobile. В настоящий момент jQuery Mobile не принимает эти динамически внедренные переключатели. Я решил эту проблему ранее, когда делал ползунки, просто снова вызвав метод «slider ()» виджета jQuery Mobile, и, похоже, он их обновил ... Это не так с этими переключателями.
В Backbone View я попытался снова вызвать методы виджета:
$(this.el).find("input[type='radio']").checkboxradio();
$(this.el).find(":jqmData(role='controlgroup')").controlgroup();
Я попробовал их и наоборот, но мне показалось, что мне нужно сделать это таким образом, чтобы стиль группирования работал и т. Д. Но это просто кажется неправильным! ... это также вызывало ошибки, когда я нажимал на переключатели, говоря: «не удается вызвать методы на checkboxradio до инициализации; попытался вызвать метод« обновить »»?
Кажется, в jQuery Mobile должен быть способ повторно инициализировать страницу или что-то в этом роде ?! Я заметил, что в исходном коде есть виджет 'page'.
Как jQuery Mobile обрабатывает формы / элементы, внедряемые в DOM после создания страницы? Есть ли чистый способ справиться с тем, как он составляет формы? Должен быть чистый способ вызова форм для рендеринга «способа jQuery Mobile» без использования тегов атрибутов данных в базовом HTML?
Буду признателен за любую помощь или понимание этой проблемы ... Я очень заинтересован в том, чтобы попытаться заставить Backbone JS и jQuery Mobile хорошо работать вместе.
Большое спасибо, Джеймс