J'ai un champ <input>
dans ma page Web, et je veux ajouter une méthode particulière là-dessus, disons fooBar()
.La meilleure façon de modifier un élément qui n'est pas encore créé
Voici ce que je fais:
<input id="xxx" .../>
<script type="text/javascript">
$("xxx").fooBar = function() { ... };
</script>
Cela fonctionne bien. Cependant, pour certaines raisons je ne détaillerai pas ici (en fait le HTML est généré par les composants JSF), le <script>
sera déclaré avant le le tag <input>
.
Ainsi, dans les mots des autres, je vais avoir dans mon HTML:
<script type="text/javascript">
$("xxx").fooBar = function() { ... };
</script>
<input id="xxx" .../>
Alors bien sûr, ce code ne fonctionnera pas correctement, car le script tentera d'obtenir ($("xxx")
) et modifier un élément qui ne n'existe pas encore.
Si je veux coller sur l'ordre exact de ces deux étiquettes, quelle est la meilleure façon d'accomplir ce que je veux?
Modifier
Dans mon cas, $
fait référence au prototype, mais je me sers aussi jQuery
dans ma demande. Et je dois être compatible avec IE6: o (
«$' est ce que dans votre exemple? Prototype? jQuery? – Tomalak
Oui, désolé, j'ai modifié ma question pour cela. J'utilise les deux, mais ici, '$' fait référence à Prototype. – romaintaz