Что такое в jQuery Mobile то, что читает «data-…» и заменяет элементы DOM?

0

jQuery mobile просматривает и заменяет мой DOM собственным DOM. У меня есть источник jQuery и jQuery Mobile open; где я могу найти то, что делает чтение и замену?

Причина, по которой я хочу узнать об этой функции, заключается в том, что я асинхронно вставляю свой собственный DOM, и я хочу снова запустить компилятор jQuery Mobile, чтобы он отображал мою новую DOM в стиле jQuery Mobile.

  • 3
    refresh() был просто создан для этого.
  • 0
    Сладкий, спасибо за информацию! Я посмотрю, что происходит в источнике для refresh ().
Теги:
jquery-mobile

1 ответ

2
Лучший ответ

Дело нелегко. Из JQM 1.4 вы можете посмотреть все виджеты содержимого JQM и проверить, какие функции выполняются, когда enhanced параметр виджета не установлен - обычно это должно быть внутри _enhance()

Что касается чтения и записи data-foo, то в конце дня это будут ваши методы get/setAttribute JavaScript с некоторыми изменениями для пространств имен.

Если вы введете свой собственный DOM, вы можете либо ввести заранее расширенные разметки ~ нет data- атрибутов, но готовое содержимое (вы должны оставить data- атрибуты, если вы хотите изменить какие-либо параметры виджетов - добавьте не расширенную разметку = просто простой HTML с data-.

В обоих случаях вам нужно будет вызвать enhanceWithin() для родительского (!), enhanceWithin() включает ваш динамически добавленный контент. В первом случае JQM создает только объекты виджетов. Во втором случае JQM создает необходимые объекты разметки и виджета (медленнее).

  • 0
    Хорошая точка зрения! В этом много смысла, и теперь я сам себя подтруниваю. Теперь, когда вы это говорите, это так очевидно: если я просто получаю «скомпилированную» (то есть пост-расширенную разметку) версию кода, за которой я работаю, то мне не нужен JQM, чтобы что-то делать. Спасибо за ответ. Я постараюсь вспомнить, чтобы думать вне API в следующий раз :)
  • 0
    Пожалуйста, отметьте как правильный, если ответ правильный. Также убедитесь, что вы по-прежнему вызываете enhancedWithin() для создания объектов виджета JQM (не источника HTML). Они позволяют такие вещи, как обновление списка. Чтобы «увидеть» эти объекты в Firebug, используйте что-то вроде Firequery

Ещё вопросы

Сообщество Overcoder
Наверх
Меню