suis autorisé à utiliser jQuery dans une fonction onclick? p>
Par exemple: P>
4 Réponses :
Bien sûr. JQuery n'existe pas dans un univers spécial; C'est juste une collection de fonctions JavaScript que vous pourriez trouver (extraordinairement) utiles.
Cependant, si vous utilisez JQuery quand même, pourquoi ne pas joindre correctement l'événement OnClick de JQuery? Vous devrez juste faire: p>
Ce n'est pas toujours possible (ou pratique) si un par exemple utilise l'injection HTML.
Si vous injectez un nouveau HTML, vous pouvez toujours attacher vos propres gestionnaires dès que cela fait partie de la DOM. Le timing (c'est-à-dire la séquence de votre code) peut être un peu différent, mais les bases de la connexion d'un gestionnaire d'événements ne sont pas différentes.
Fixation des gestionnaires lors de la fixation dans le DOS n'est pas toujours possible. Dépend de la structure du projet, si, par exemple, vous ne contrôlez que la création du code HTML et non du code lorsqu'il est injecté.
Essayez ceci (vous aurez besoin d'un identifiant sur la balise d'ancrage):
function my_save_function(elid){ v = $("#"+elid).val(); // do stuff with v }
Ceci est un moyen pratique de déplacer la complexité de la syntaxe en une fonction distincte.
Honnêtement, vous avez déjà écrit le code et le balisage, ne pouviez-vous pas simplement l'exécuter et voir si cela fonctionnait? P>
En réponse à votre question, oui, cela devrait fonctionner bien, mais regardez vos citations imbriquées. Il s'agirait de meilleure forme et plus facile à lire / à maintenir si vous ajoutez un gestionnaire de clic à l'élément que d'intégrer le corps de fonction dans la chaîne d'attributs. P>
J'ai essayé ça. Cependant, je reçois une erreur de syntaxe dans Firebug comme ceci: erreur de syntaxe my_save_function ($ (donc je n'étais pas sûr si JQuery est même utilisable dans la fonction. C'est pourquoi j'ai demandé.
Oui, je pense que les citations le faisaient ... Vous devez soit utiliser des guillemets simples sur l'ensemble intérieur ou échapper aux devis supplémentaires.
Oui, cela s'est avéré être exactement le problème. Merci. :)
Vous pouvez même mettre un autre code JQuery comme celui-ci:
onclick="$('#myid').closest('tr').hide();"
Merci beaucoup pour les réponses rapides. Je ne cesse jamais d'être émerveillé par la communauté de so.
Comme on le voit dans les commentaires de la réponse de Flatline, OP obtiendait un message d'erreur, car ne pas échapper aux guillemets doubles imbriquées.