« Programmation JavaScript/Expression littérale » : différence entre les versions

Contenu supprimé Contenu ajouté
Gmarzin (discussion | contributions)
Gmarzin (discussion | contributions)
Ligne 102 :
 
==Les chaînes littérales dans les expressions associées aux évennements==
A l'intérieur des balises html, il est possible d'intégrer du code JavaScript associé aux évennements, (comme onclick, onmouseover...). Javascript est à ce moment là interprété en dehors de son territoire propre, c'est à dire entre les balises &lt;script&gt; et &lt;/script&gt; ou dans un fichier séparé. <br/>
Sa rédaction obéit alors aux règles de rédaction des attributs des balises, qui n'autorisent pas tout.<br/>
<pre>
<div onclick="alert('Je suis cliqué')">cliquez moi!</div>
</pre>
Html, comme xhtml, ne reconnait pas les séquences de type \uHHHH. Nous devons nous limiter aux caractères échappés classiques, amputés de ( \" ) et ( \' ). En effet, ces deux caractères ne seront pas interprétables comme valeur de la propriété de la balise.<br/>
Si nous voulons afficher '''Je suis "cliqué"''', nous devons recourir aux entités.<br/>
 
Les entités sont un mécanisme permettant d'insérer n'importe quel caractère dans une chaîne.<br/>
Selon la référence du doctype html, nous aurons accès à des entités munies d'un identificateur. Sinon, sous réserve de disposer d'une '''table adéquate''', nous pouvons reproduire n'importe quel caractère.<br/>
Sans aller plus-avant dans la description des entités, nous pouvons les décrires comme suit :<br/>
L'entité commence par le caractère & (éperluette ou "et commercial") et finit par un point-virgule. Entre ces deux symboles, on rencontre soit un identificateur ( &'''lt'''; &'''gt'''; &'''amp''';), soit le code du caractère exprimé en '''décimal''' et précédé du signe sharp (#). (&amp;#160; &amp;#339;)<br/>
<pre>
<div onclick="alert('Je suis &amp;#34;cliqué&amp;#34;')"> // Affiche: Je suis "cliqué"
cliquez moi!
</div>
</pre>
... Mission accomplie.
 
[[Programmation JavaScript/Commentaire|Les commentaires >>]]