Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

surligner à la souris

27 réponses
Avatar
Pascal
Bonjour

Peut-on surligner du texte, à l'aide de la souris, dans une page html?
Est-il possible de choisir la couleur de surlignement au préalable en
cliquant dans une "palette de couleurs"?
Le but du jeu étant d'analyser la construction grammaticale d'une phrase.
L'élève devra, dans chaque phrase d'un texte, retrouver le sujet, le verbe,
certains compléments en surlignant chaque partie des phrases du texte avec
une couleur déterminée.
Exemple: Le chien ronge son os.
1 Surligne en jaune le sujet : Le chien
2 surligne en rouge le verbe : ronge
3 surligne en orange le complément d'objet direct : son os

Bien sûr, à la fin je devrais pouvoir comparer la réponse de l'élève à la
solution.

merci
pascal

10 réponses

1 2 3
Avatar
Pascal
Le 28/01/2011 11:02, SAM a écrit :
Heu ...
pourquoi "Le chien" indiqué comme sujet donne t-il 2 points ?
pire :
pourquoi "Le" indiqué comme sujet donne t-il 1 points ?



Parce qu'ils sont indiqués comme tels dans l'exemple qui m'était donné,
et que j'ai bêtement repris, sans chercher plus loin car ce n'était pas
le sujet.

function souligne(ev) {
ev = ev? ev.target : window.event.srcElement;
if (ev.tagName != "SPAN") return;



D'après ma doc (David Flanagan), tagName retourne une valeur dont la
casse dépend du type de document, HTML (maj) ou XHTML (min).
C'est donc pour assurer le test que j'ai suggéré une conversion
systématique.


--
Cordialement,
Pascal
Avatar
Olivier Miakinen
Le 28/01/2011 11:07, Pascal a écrit :

mais ... à qui, à quoi réponds-tu ?
sur quel(s) NG(s) es-tu en même temps ?



Hé, Stéphane, y faut arrêter le calva dès le matin ! ;-)
Il y a deux Pascal(s) sur ce groupe, cf. l'adresse e-mail différente
pour chacun de nous (bien que ça ne soit pas une preuve absolue).



Euh... pardon de m'immiscer, mais tu ne vas quand même pas reprocher à
SAM une confusion dont tu es responsable, avec l'autre Pascal ! Tu ne
voudrais pas prendre comme identité « Pascal Poncet » au lieu de
« Pascal » ?

Soit dit en passant, j'espère que ton adresse de courriel valide est
bien textuellement celle de ton champ From ; sinon, il faudrait la
suffixer par .invalid :
From: Pascal Poncet
Avatar
SAM
Le 28/01/11 11:07, Pascal a écrit :
Le 28/01/2011 09:46, SAM a écrit :
mais ... à qui, à quoi réponds-tu ?
sur quel(s) NG(s) es-tu en même temps ?



Hé, Stéphane, y faut arrêter le calva dès le matin ! ;-)



Non, moi c'est pas l'calva, plutôt l'pastis, mébon ...

... je ré-itère la question :
"à qui, à quoi réponds-tu ?"

Il y a deux Pascal(s) sur ce groupe, cf. l'adresse e-mail différente
pour chacun de nous



Ha ?
et quand bien même ... ézalors ? à quoi, réponds-tu ?
(l'autre Pascal donc)

(bien que ça ne soit pas une preuve absolue).

en effet, ça ne change rien à l'affaire ...
à qui, à quoi, réponds-tu ?
("à Pascal" ne suffisant pas !)

Pour l'autre Pascal, si un autre existe, il me semble bien qu'il est
allé sur le NG en pas français poser sa question, non ?
L'idée m'a t-il semblé était de "sélectionner" qque chose pour le
surligner (lui changer le style), idée qui semble être abandonnée.
De plus, et si je ne me trompe, en utilisant directement des span il a
déjà eu une réponse il y a 1 ou 2 ans ...

Pour "attraper" un élément 'cible' qui aurait l'événement déclencheur,
on peut aussi faire :

var ev = ev || window.event;
var cible = ev.target || ev.srcElement;



C'est pas faux !
Mais pourquoi écrire en deux lignes ce qui tient en une ?



Histoire d'attirer la puce à l'oreille de l'autre Pascal ?

Enfin, on va pas se battre là-dessus, surtout que ton écriture est assez
courante dans les exemples du web.



Toutafé.
Et pourquoi l'est-elle ?
(qu'en dit Flanagan ?)


--
Stéphane Moriaux avec/with iMac-intel
Avatar
SAM
Le 28/01/11 11:20, Pascal a écrit :
Le 28/01/2011 11:02, SAM a écrit :

function souligne(ev) {
ev = ev? ev.target : window.event.srcElement;
if (ev.tagName != "SPAN") return;



D'après ma doc (David Flanagan), tagName retourne une valeur dont la
casse dépend du type de document, HTML (maj) ou XHTML (min).
C'est donc pour assurer le test que j'ai suggéré une conversion
systématique.



avec des essplications (documentées en plus !) c'est mieux.

ceci étant ... en fait ... les brouteurs s'en moquent et ...
elemt.tagName != "SPAN"
fonctionne très bien
même en Xhtml

j'imagine que
elemt.tagName != "span"
fonctionnera tout aussi bien ?
Oui, il semblerait.

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Olivier Miakinen
Le 28/01/2011 16:04, SAM demandait à Pascal (pas Pascal, Pascal) :

... je ré-itère la question :
"à qui, à quoi réponds-tu ?"



À mon avis, il répondait à ça (transmis par Pascal, l'autre, pas par
Pascal lui-même bien sûr) :

http://cjoint.com/data/0bAwF7QR8hK_test_js_bis.html
Avatar
Olivier Miakinen
Le 28/01/2011 16:39, je répondais à SAM à propos de Pascal et Pascal :

... je ré-itère la question :
"à qui, à quoi réponds-tu ?"



À mon avis, il répondait à ça (transmis par Pascal, l'autre, pas par
Pascal lui-même bien sûr) :

http://cjoint.com/data/0bAwF7QR8hK_test_js_bis.html



Et si jamais c'était l'article de Pascal qui te manque, celui auquel
répondait Pascal, alors voici les infos pour le retrouver :

From: Pascal
Newsgroups: fr.comp.lang.javascript
Subject: Re: surligner =?ISO-8859-1?Q?à_la_souris? Date: Wed, 26 Jan 2011 22:36:10 +0100
Organization: Aioe.org NNTP Server
Lines: 10
Message-ID: <ihq446$aa3$
Avatar
Pascal
Le 28/01/2011 16:04, SAM a écrit :
avec des essplications (documentées en plus !) c'est mieux.



Voilà, chef : https://developer.mozilla.org/fr/DOM/element.tagName
Et le lien vers le W3C, en bas de cette page, dit la même chose.

Précision : j'ai fait le même raccourci que Flanagan en disant que la
chaîne retournée est en minuscule avec un document XHTML. La spécif dit
que la casse est préservée dans ce cas, mais XHTML prévoit que les
éléments soient écrits en minuscule
[http://www.w3.org/TR/2002/REC-xhtml1-20020801/#h-4.2].

ceci étant ... en fait ... les brouteurs s'en moquent et ...
elemt.tagName != "SPAN"
fonctionne très bien
même en Xhtml



Ok, mais peut-être que ça "tombe en marche", jusqu'au jour où les
spécifs seront respectées.
En plus, je n'ai pas pris le temps de vérifier, mais il est possible que
ce comportement change selon la DTD (dont la déclaration est absente de
notre exemple).


--
Cordialement,
Pascal
Avatar
SAM
Le 28/01/11 19:43, Pascal a écrit :
Le 28/01/2011 16:04, SAM a écrit :
avec des essplications (documentées en plus !) c'est mieux.



Voilà, chef : https://developer.mozilla.org/fr/DOM/element.tagName
Et le lien vers le W3C, en bas de cette page, dit la même chose.



N'en jetez plus ! n'en jetez plus !

L'allusion à la bible Flanagan suffisait ;-)

(...)
XHTML prévoit que les éléments soient écrits en minuscule
[http://www.w3.org/TR/2002/REC-xhtml1-20020801/#h-4.2].

ceci étant ... en fait ... les brouteurs s'en moquent et ...
elemt.tagName != "SPAN"
fonctionne très bien
même en Xhtml



Ok, mais peut-être que ça "tombe en marche", jusqu'au jour où les
spécifs seront respectées.



On peut dire ça
mais
je doute que les brouteurs se contenteront un jour de se limiter à ne
respecter "que" les spèces
ils feront toujours leur possible, comme de gommer qques coquilles, pour
que ça tombe en marche.

En plus, je n'ai pas pris le temps de vérifier, mais il est possible que
ce comportement change selon la DTD (dont la déclaration est absente de
notre exemple).



Tu penses bien que j'ai pris garde d'essayer avec les DTD
(transitionnelle et stricte, vérifiées par le Validator lui-même)
SPAN ou span, pour le JS : même tabac
(en tous cas avec IE.6 ou Fx.3.6)

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Pascal
Merci pour l'info et le lien Olivier.

--
http://www.scalpa.info
http://scalpa98.blogspot.com/
http://scalpa-production.blogspot.com/

"Olivier Miakinen" <om+ a écrit dans le message de
news:4d41b5b7$
Le 27/01/2011 18:55, Pascal a écrit :

var target = ev ? ev.target : event.srcElement;
Ca veut dire quoi le ? et le : C'est l'écriture condensée d'un test ?



Il s'agit de l'opérateur ternaire :
http://www.google.fr/search?q=op%E9rateur+ternaire

En gros,
a = test ? val1 : val2;
est équivalent à :
if (test) a = val1
else a = val2;
Avatar
Pascal
"SAM" a écrit dans le message
de news:4d428250$0$5411$
Le 27/01/11 18:55, Pascal a écrit :
Bonjour
C'est carrément excellent... concis, efficace ! Merci beaucoup...




Impec !

mais ... à qui, à quoi réponds-tu ?
sur quel(s) NG(s) es-tu en même temps ?



Euh ben.... Il n'y a qu'ici que je poste... fr.comp.lang.javascript
Pourquoi ? Je clique sur répondre au groupe depuis Windows Mail.....
(faut-il faire autre chose ?)
En tout cas merci pour tous ces éclaircissements.
pascal
1 2 3