lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020
-
28 déc. 2006 à 17:50
FREMYCOMPANY
Messages postés276Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention22 décembre 2008
-
2 janv. 2007 à 11:13
Bonjour,
Je viens de nouveau demander de l'aide à la communauté C-S après avoir passer une partie de mon apres-midi a chercher une solution en vain...
J'explique :
Sur un page il y a un tableau et j'aimerais lancer une fonction dès que l'utilisateur clique n'importe où sur la page sauf sur mon tableau...
Probleme :
- le onClick sur le body s'effectue tout le temps...
- le onBlur ne s'applique pas à un tableau...
Je recherche donc un évènement completement opposé à onClick d'une facon simple. Personellement je pensais recuperer les coordonnées de mon tableau ainsi que celle de ma souris lors du click sur le body pour verifier mais je prefere demander si quelqu'un aurait une astuce beaucoup plus simple (et plus pro )
Merci d'avance et passez de bonnes fêtes
PS: si la solution se cache déjà sur ce forum, mea culpa
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 28 déc. 2006 à 18:27
B onjour...
il te faut récupérer l'objet qui à déclenché l'événement onclick...
//---------------------
function Get_Onclick(e){
var Obj;
//-- On récupère l'objet événement
if( !e) e = event;
//-- On récupère le déclencheur
if( e.target)
Obj= e.target;
else
Obj = e.srcElement;
//-- On cherche le parent
// dans une table il y a fort à parier
// que le TD soit déclencheur
while(Obj.parentNode){
Obj= Obj.parentNode;
//-- Si c'est une TABLE
if( Obj.tagName =="TABLE") return( false);
//-- Ou encore par l'ID
if( Obj.id =="LA_TABLE") return( false);
}
//-- Laisse faire les choses
return( true);
}
avec un appel
document.onclick=Get_Onclick;
FREMYCOMPANY
Messages postés276Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention22 décembre 2008 28 déc. 2006 à 19:22
Moi je ferais pas comme cela...
Je propose une solution basée sur document.onclick
Tu crées un array (document.onClickOut) et à chaque fois que tu veux enregister un objet HTML à onClickOut tu l'ajoutes à l'Array.
Sur document.onmousemove tu récupère la position de la souris et tu la sauvegarde au moyen d'une varibable globale "window.mouse" de type {"x":0,"y":0}
Sur document.onclick tu fais une itération sur document.onClickOut et tu regardes, pour chaque element, si la souris est bien endehors de l'élément, si oui, tu call (document.onClickOut[i].onclickout(event))
Pourquoi notre PC fait-il toujours ce qu'on lui dit ... et pas ce qu'on veut ???
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 2 janv. 2007 à 10:11
Merci à vous trois pour m'avoir apporter des solutions à mon probleme.
Fremy, j'espere que tu ne m'en voudras pas, mais je n'ai pas essayé ta solution, car je ne voulait pas passer par les coordonnées de ma souris. Malgré tout, ta solution devrait fonctionnner.
Merci Bultez et Petole, je ne sais pas encore quelle solution j'intègrerais a mon projet, mais les deux fonctionnent
Je vous souhaite une très bonne année à tous
Vous n’avez pas trouvé la réponse que vous recherchez ?