|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Bonjour,
Après un tas de recherches de scripts permettant d'obtenir la position de la souris, j'ai fini par en trouver un qui fonctionne, mais uniquement sous Chrome et IE (moi qui pensais que chrome fonctionnait comme FF). En gros ca marche pas sous FF. J'ai lu que cela pouvait venir de la gestion d'évènement par FireFox, mais je ne comprend pas car ce script semble bien calculer la présence ou non de l'objet event, le voici: Code :
Code :
|
||||
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Voir
: Comment récupérer les coordonnées de la souris ?Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
10
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Ok, mais ce script (qui s'ajoute au grand nombre de scripts que j'ai trouvé) ne fonctionne toujours pas sous FF, mais vu que l'exemple fonctionne, j'ai du faire une bêtise...
déjà je l'ai un peu modifié pour qu'il retourne un tableau, c'est gênant? Code :
A la place de mouseover ici? Car ca n'a pas fonctionné Code :
GEvent.addListener(marker, "mouseover", function() { |
||
|
|
00
|
|
|
#4 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonjour,
il faut bien lire la FAQ pour voir que le fonction detectMouse() est mise sur l'événement du body onmousemove, ce qui veux dire que la fonction s'exécute en tâche de fond à chaque déplacement de la souris. Te concernant, comme tu utilises l'API GoogleMap et que tu as mis un écouteur sur le mouseover d'un marker, il te suffit dans ce cas de récupérer la position de la mouse, mise à jour, à ce moment là. Mais il y a mieux, tu peux récupérer, via l'API, la position de la mouse dans la map. exemple : Code :
PS: il est temps de passer à la V3 de l'API Citation:
|
|||
|
|
10
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Oui j'ai bien remarqué que cela calculait la position à chaque mouvement de souris, je cherchais simplement à faire calculer la position au "mouseOver" de mon point et non au "onMouseMove" complet.
Je vais tester ce dernier script qui m'a effectivement l'air plus logique, je test ça demain sinon je reste sur un calcul avec onmousemove ça devrait fonctionner. Merci
|
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Ok, je n'ai pas utilisé le script de position dans la carte car j'utilise une div absolue.
Par contre, le script de l'exemple ne fonctionnait pas chez moi, plus particulierement la conditiond de présence de l'évènement: je n'entrais jamais dans le else, j'ai donc mis: Code :
var monBody = document.documentElement || document.body; ne fonctionnait pas, bizarre... j'ai donc fais sans et utilisé directement document.body Voilà bon je sais pas pourquoi j'ai eu ces soucis, mais au cas ou quelqu'un les rencontre aussi :O. merci encore pour votre aide |
||
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Code :
if (nomnav == 'Microsoft Internet Explorer')
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Justement je suis sous IE9 et ça ne fonctionnait pas.
Car il rentre dans la première condition alors qu'il ne devrait pas (enfin il y rentre mais ça ne marche pas). Il semblerait donc que IE9 fonctionne comme le 8. Ce n'est pas gênant qu'il rentre dans les 2 conditions, cela ne fera que remplacer le contenu de mon span. Le code marche sous IE 9 et 8, chrome, firefox. (bug sur IE7) A revérifier alors quand IE10 sera parmi nous... mais je ne vois pas quoi faire alors, à part vérifier la version de IE dans ma condition |
|
|
00
|
|
|
#9 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Eh bien pour la condition j'ai utilisé celle du tuto: if(e)... e étant le paramètre "event". Mais comme je l'ai remarqué, c'était simplement IE9 qui buguait
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Ok pour offsetLeft et offsetTop mais à vrai dire c'est aussi que je n'arrivais pas à obtenir mes coordonnées (bonne ou pas) mais j'ai pas osé le dire |
|
|
00
|
|
|
#11 | ||
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
ie ne supporte pas pageX et page Y toutes versions confondu
pour etre compatible avec tous les navigateur Code :
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait. |
||
|
|
00
|
|
|
#12 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Citation:
D'ou mon Code :
if (nomnav == 'Microsoft Internet Explorer') |
|||
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
en regardant j'ai fait une erreur il y a un s qu'il faut remplacer par e
pour en revenir a ie 9 il supporte les deux syntaxes mais il vaut mieux préférer la syntaxe ou l'evenement est mis en parametre car c'est celle qui est couramment employé on fait donc le teste qui est de savoir si (e) n'est pas null sa permet de choisir automatique la solution precedement cité et on a pas besoin de tester le navigateur car on fait la difference entre ie 6 7 8 et les autres navigateurs ie 9 ff chrome ...etc donc Code :
if (nomnav == 'Microsoft Internet Explorer')
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait. |
|
|
00
|
|
|
#14 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Si IE9 supporte les 2 syntaxes, pourquoi ce code ne fonctionne-t-il pas?
Code :
PS: Dsl je répond un peu tard mais bon j'ai pas pu plus tot. http://grignan-adhemar-vin.fr/new/f/vignerons.php |
||
|
|
00
|
|
|
#15 | ||
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
comme ca
Code :
Code :
var document_scroll=(navigator.vendor) ? document.body : document.documentElement; cette ligne sert a differencier Iinternet explorer 6 7 et 8 face aux autres navigateurs dans la gestion des evenement
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait. |
||
|
|
00
|
|
|
#16 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Oui c'est exactement le code que j'ai inséré sur ma page (lien message précédent). La position de la souris fonctionne sur tous les navigateurs, mais pas la prise en compte du scroll. Donc le test de l'event marche, mais pas celui de différentiation pour le scrolling.
Cela ne fonctionne que sous chrome (et théoriquement safari) |
|
|
00
|
|
|
#17 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
je te livre celle que j'utilise, la 259 éme donc
Code :
?
|
||
|
|
00
|
|
|
#18 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2010 Messages : 45 ![]() |
Citation:
Cette fonction là marche niquel :O ! Elle prend en compte suffisamment de paramètres je pense, j'avais réussi à faire marcher mon script mais avec la condition qui "sert à rien" de repérage de IE. Merci bien pour tout cela ! |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com