11548 sujets

JavaScript, DOM et API Web HTML5

salut tout le monde,

voici mon problème..je n'arrive pas à gérer le click souris dans ma page HTML sous ie6, cela fonctionne bien sous ie7 et ie8.
Je voudrais ensuite récupérer les coord de la souris pour pouvoir les répliquer dans une autre fenêtre, et impossible de les récupérer.

J'ai essayé pas mal de code, je débute un peu sous ie 6 Smiley smile , et j'avoue que j'ai un peu de mal à m'en sortir..

voici le code :

		document.onclick = mouseClick;
	
			function mouseClick( e) {
				
				if( !e ) e = window.event;

				if( e.pageX || e.pageY ) {
					x = e.pageX;
					y = e.pageY;
				}else{
					x = e.clientX + document.body.scrollLeft;
					y = e.clientY +  document.body.scrollTop;
				}


ie me renvoie null pour l'objet ie, impossible de récupérer les coord de la souris.
Y a t'il un code spécifique à ie6 pour récupérer l'event ?

Quelqu'un pourrait-il m'aider à voir plus clair ?

merci à tous
Modifié par ishmar (21 Sep 2010 - 18:05)
Modérateur
Salut,

Plutôt que de passer par les propriétés clientX et clientY, il faut faire comme suit :
function getPos(e) {
    return window.attachEvent && !document.opera ?
        {'x': event.x + document.body.scrollLeft, 'y': event.y + document.body.scrollTop}:
        {'x': e.pageX, 'y': e.pageY};
};
yep, ça fonctionne en effet pour toutes les versions d'ie et plus particulierement ie6,
merci du tuyau Smiley smile

a+