2010-10-23 4 views
0

Я использую JQuery Мобильный телефон 1 альфа 1.Динамически Создание виджетов в DOM

Для создания ввода текста, например, в JQuery мобильного вы добавляете в свой HTML

<div data-role='fieldcontain'> 
<label for='name'>Text Input:</label> 
<input type='text' name='name' id='name' value='' /> 
</div> 

Предположив вы назначаете выше HTML код к переменной $textinput и введите $("#someid").append($textinput);, тогда проблема заключается в том, что текстовый ввод отображается, но его не соответствует теме. Я предполагаю, что некоторые Javascript работают на загрузке страницы, что добавляет правильные классы для целей CSS. Этот Javascript не запускается, когда я добавляю HTML непосредственно в DOM.

Что делать, если правильный Javascript запускается, когда я динамически добавляю виджеты в свой DOM?

ответ

0

Посмотрите на Live Query.

Live Query (formerly Behavior) utilizes the power of jQuery selectors 
by binding events or firing callbacks or matched elements auto-magically, 
even after the page has been loaded and the DOM updated. 
1

При добавлении ввода экземпляра среды выполнения дают идентификатор для вашего DIV так что он может быть поймать на $. Создайте свой купол, как показано ниже

<div data-role='fieldcontain' id="field1"> 

ввода текста:

После добавления его просто запустить скрипт ниже, чтобы преобразовать его мобильный объект.

$ ("# field1"). Fieldcontain(); $ ("# name"). Textinput();

Смежные вопросы