Connaitre la position (coordonnées) du curseur de la souris?

johanb Messages postés 33 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 19 mai 2006 - 20 mai 2005 à 10:26
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009 - 9 janv. 2006 à 18:32
Bonjour à tous,

tous est dis dans le titre.Je sais c'est censé être qqc de basique, mais j'ai du mal.



Voici l'origine de mon probleme:

j'ai une liste déroulante contenant différents choix (jusque la tout
vas bien).Le problème est que cette liste est beaucoup trop large et
nuit à l'affichage

j'avais donc dans un premier temps pensé à séparer les options sur deux lignes, mais impossible de trouver comment faire

j'ai essayé

<option>début
suite</option>

<option>début \n suite</option>

mais rien ne marche (j'aurrais bien tenté avec le code acsii du retour
chariot mais je ne sais pas si on peut le faire directement en html)





Donc pour faire autrement, j'ai fais


<select>

<option onmouseover="showinfo('mondiv')">texte raccourcis...</option>

<option>...</option>

</select>


function showInfo(id_div)

                {

           
       
document.getElementById(id_div).style.top=event.pageY;

           
       
document.getElementById(id_div).style.left=event.pageX;

           
       
document.getElementById(id_div).style.visibility="visible";   
           
          
             
               

                }






Le problème est que mon code doit être compatible firefox,explorer6 et mozilla

je cherche donc la syntaxe pour les différents navigateurs, et qu'on
m'indique pourquoi event.pageX ne fonctionne pas sur mon navigateur
firefox (la console javascript me dit "event is not defined" alors que
je fais pourtant appel à une méthode de la classe event)



merci pour vos réponses, et si quelqu'un arrive à répondre à la 1ère
(retour à la ligne dans un select) je serai carément plus content

3 réponses

chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
20 mai 2005 à 17:27
Salut,

Voila comment, on peut déterminer la position du curseur en fonction des navigateurs ie/gecko et de la position des scrollbars:



gk=window.Event?1:0; //détection de gecko



function position_curseur(e){

sx=gk?pageXOffset:db.scrollLeft; //scroll h

sy=gk?pageYOffset:db.scrollTop; //scroll v

px=gk?e.pageX:event.clientX+sx; //curseur x

py=gk?e.pageY:event.clientY+sy; //curseur y

}

window.defaultStatus='x = '+px+' y= '+py // pour vérifier

et qu'on m'indique pourquoi event.pageX ne fonctionne pas sur mon navigateur firefox ??

Tu oublie de mettre event en paramètre de ta fonction. Dans la mienne, j'ai mis e par simplification



Maintenant tu peut fixer sa largeur de ton select aussi
0
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
20 mai 2005 à 17:35
Ouppps !!!

Jai oublié la définition d'une variable qui agit suivant le Doctype chez IE, à lancer par onload :

db=!document.documentElement.clientWidth?document.body:document.documentElement //quirk IE6



Comme tu vois, c'est pas si basique que ça
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
9 janv. 2006 à 18:32
Bonjour,

Je rencontre le meme probleme.

le e que tu fais passer en paramètre de ta fonction correspond à koi ?


===================================
RANOUF
===================================
0
Rejoignez-nous