OVH Cloud OVH Cloud

obtenir l'objet dans leqiel on a cliqué

6 réponses
Avatar
pere.noel
bonjour peut-on obtenir fracilement une référence de l'objet dans lequel
on a cliqqué ou dragué la souris ?

je souhaite avoir une finction comme ça :

objectClicked=getObjectClicked(event)
objectDragued=getObjectDragued(event)

6 réponses

Avatar
ASM
bonjour peut-on obtenir fracilement une référence de l'objet dans lequel
on a cliqqué ou dragué la souris ?

je souhaite avoir une finction comme ça :

objectClicked=getObjectClicked(event)
objectDragued=getObjectDragued(event)


Tu prends le problème à l'envers :
c'est l'event qui renvoie l'objet où a lieu l'évent.

<img onclick="objectClicked=this"



http://www.quirksmode.org/js/introevents.html
puis :
http://www.quirksmode.org/js/events_properties.html
où on nous dit :

function doSomething(e) {
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNode;
}


qu'on pourrait utiliser comme :

function quelElement(e) {
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
return targ; // return targ.id? targ.id : targ.tagName;
}

<body onclick="alert(quelElement(event))">
ou
<body onclick="alert(quelElement(event).innerHTML);">

--
ASM

Avatar
pere.noel
ASM wrote:

je souhaite avoir une finction comme ça :

objectClicked=getObjectClicked(event)
objectDragued=getObjectDragued(event)


Tu prends le problème à l'envers :
c'est l'event qui renvoie l'objet où a lieu l'évent.


ben c'est bien ce que j'écris plus haut non ? :

object = getObjectClicked(event)

ne serait pas toi qui m'aurais compris verlan ?


<img onclick="objectClicked=this"

<snip />

}

<body onclick="alert(quelElement(event))">
ou
<body onclick="alert(quelElement(event).innerHTML);">


ok merci pour les infos, je vais chercher comment obtenir le innerHTML
d'un mouse drag :

on click à un endroit de la fenêtre, on drag la souris et on affiche le
innerHTML contenu dans la zone ainsi définie par la souris.

c'est ce que je cherche à faire, je te dirai l'intérêt, quand ça
marchera...

au fait, connais-tu le "JavaScript Shell" très pratique...


Avatar
ASM
ASM wrote:
c'est l'event qui renvoie l'objet où a lieu l'évent.


ben c'est bien ce que j'écris plus haut non ? :


bon, admettons.

Je voulais dire qu'en général, c'est l'objet particulier qui a le
onclick qui envoie l'info de son event (click).

Mais en étendant simplement ce onclick à l'ensemble du document on
arrive à ce que tu semblais vouloir exprimer.

<body onclick="alert(quelElement(event).innerHTML);">


ok merci pour les infos, je vais chercher comment obtenir le innerHTML
d'un mouse drag :


<body
onmousedown="appui=true"
onmousemove="bouge=true;"
onmouseup="if(appui && bouge)
alert(quelElement(event).innerHTML);
appui=bougeúlse;
">

on click à un endroit de la fenêtre, on drag la souris et on affiche le
innerHTML contenu dans la zone ainsi définie par la souris.


Heu ... là c'est pas gagné !
si tu veux récupérer :
- tous les objets survolés
ou
- le texte surbrillé

Pour le texte : voir 'selection', 'textRange' ...
(dans selfhtml par exemple)


au fait, connais-tu le "JavaScript Shell" très pratique...


Non, késako ?
(moi et les shells on n'fait pas bon ménage)

--
ASM


Avatar
ASM

Pour le texte : voir 'selection', 'textRange' ...


http://fr.selfhtml.org/javascript/langage/gestevenements.htm#onselect
http://fr.selfhtml.org/javascript/objets/document.htm#get_selection

Avatar
pere.noel
ASM wrote:

ok merci pour les infos, je vais chercher comment obtenir le innerHTML
d'un mouse drag :


<body
onmousedown="appui=true"
onmousemove="bouge=true;"
onmouseup="if(appui && bouge)
alert(quelElement(event).innerHTML);
appui=bougeúlse;
">

on click à un endroit de la fenêtre, on drag la souris et on affiche le
innerHTML contenu dans la zone ainsi définie par la souris.


Heu ... là c'est pas gagné !
si tu veux récupérer :
- tous les objets survolés


tout le html survolé en prenant le parent de ce qui a été survolé, but
de la manip :

avoir un truc qui permette d'éliminer sur une page qqc les indésirables
(pub, banière etc...)

tu serais candidat pour tester ?

ou
- le texte surbrillé

Pour le texte : voir 'selection', 'textRange' ...
(dans selfhtml par exemple)


au fait, connais-tu le "JavaScript Shell" très pratique...


Non, késako ?
(moi et les shells on n'fait pas bon ménage)


c'est comme son nom l'indique un truc que tu mets dans n'importe quel
page et qui te permet de lancer des commandes javascript sur cette page,
c'est ici :

<http://www.squarefree.com/shell/shell.html>


Avatar
pere.noel
ASM wrote:


http://fr.selfhtml.org/javascript/langage/gestevenements.htm#onselect
http://fr.selfhtml.org/javascript/objets/document.htm#get_selection


merci, merci mille fois !!!