2010-10-23 5 views
0

J'utilise jQuery mobile 1 alpha 1.Dynamiquement créer des widgets dans DOM

Pour créer une entrée de texte, par exemple dans le mobile jQuery vous ajoutez à votre HTML

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

Supposant que vous attribuez au-dessus HTML code à une variable $textinput et tapez $("#someid").append($textinput); alors le problème est que l'entrée de texte apparaît mais n'est pas thématisé correctement. Je suppose que certains Javascript s'exécute sur le chargement de la page qui ajoute les classes correctes à des fins de CSS. Ce Javascript ne fonctionne pas quand j'ajoute le HTML directement dans le DOM.

Que dois-je faire pour que le Javascript correct s'exécute quand j'ajoute dynamiquement des widgets à mon DOM?

Répondre

0

Jetez un oeil à 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

Lors de l'ajout d'exécution de l'instance d'entrée donne à votre identifiant div il peut donc être prise par $. Créez votre dôme comme ci-dessous

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

Text Input:

Après avoir ajouté courir juste au-dessous de script pour le convertir objet mobile.

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

Questions connexes