Onclick function
helloworld
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Quelle est la différence entre c'est 2 bouts de code ? Et pourquoi le second affiche directement "Ca marche!" sans le click ?
Quelle est la différence entre c'est 2 bouts de code ? Et pourquoi le second affiche directement "Ca marche!" sans le click ?
$('textarea').on('click', change);
function change(){
$('textarea').prop('value', 'Ca marche !');
}
$('textarea').on('click',change());
function change(){
$('textarea').prop('value', 'Ca marche !');
}
1 réponse
-
Bonjour,
La première se déclenche qu'au click
La seconde.. se déclenche dès le chargement de la page .. par contre... pourquoi.. c'est une bonne question.
La troisième syntaxe fonctionne également comme attendue$('textarea').on('click',function (){ $('textarea').prop('value', 'Ca marche !'); });
-
-
Merci beaucoup et effectivement je trouve cela étrange que il le fassent dès le chargement de la page au niveau de la deuxième syntaxte.
Autre chose, est ce possible de faire$('input:focus').css('backgroundColor','red');?
Je veux donc changer la couleur sur les input qui sont focus.
Cela ne fonctionne pas mais je ne sais pas pourquoi ? Ducoup j'ai fais onfocus mais ya t'il pas un autre moyen ?- Non.
Le "on" sert à initialiser une action sur un évènement donné quand l'action correspond (click, change... ).
Ce que toi tu as écris ne s'exécute qu'au moment ou le script arrive sur cette ligne de code... et si à ce moment là tu n'as rien de "focus".. normal que ça ne marche pas.
A la limite:$('input').click(function(){ $('input:focus').css('backgroundColor','red'); });
mais qui n'a pas d’intérêt puisque tu peux tout simplement faire$('input').click(function(){ $(this).css('backgroundColor','red'); });
-