begin process at 2012 05 29 19:12:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

onClickOut?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

onClickOut?

jeudi 28 décembre 2006 à 17:50:24 | onClickOut?

lesdis

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
jeudi 28 décembre 2006 à 18:27:46 | Re : onClickOut?

PetoleTeam

Membre Club
Réponse acceptée !
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;

cela devrait fonctionner...
;0)


jeudi 28 décembre 2006 à 19:22:36 | Re : onClickOut?

FREMYCOMPANY

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 ???

vendredi 29 décembre 2006 à 06:03:26 | Re : onClickOut?

bultez

Membre Club
Réponse acceptée !




Bonjour,

>>...lancer une fonction dès que l'utilisateur clique n'importe
>>...où sur la page sauf sur mon tableau...

<body onclick="if (!quoi) { alert('click'); } else { quoi=false; }">
<script type="text/javascript">
 var quoi=false;
</script>
<table  border=4
        onclick="quoi=true;">
 <tr>
     <td>un</td>
     <td>deux</td>
 </tr>
</table>
</body>

on pouvait utiliser cancelbubble, mais c'est exclusif IE... je crois...


            Cordialement       Bul       [
mon Site ]    [ M'écrire ]
mardi 2 janvier 2007 à 10:11:02 | Re : onClickOut?

lesdis

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
mardi 2 janvier 2007 à 11:13:44 | Re : onClickOut?

FREMYCOMPANY

Hello !
Personnellement, j'aime bien la solution de bultez qui évite du travail inutile au CPU et qui est en fait assez simple à mettre en oeuvre !

Pourquoi notre PC fait-il toujours ce qu'on lui dit ... et pas ce qu'on veut ???



Cette discussion est classée dans : solution, page, tableau, demander, onclickout


Répondre à ce message

Sujets en rapport avec ce message

Comment modifier un tableau HTML avec du javascriptJavascript [ par 1000ste ] Bonjour,> J'ai une page HTML avec la description d'un tableau. Je voudrais à l'aide de javascript modifié le contenu d'une zone du tableau avec la mét Imprimer deux frames dans une même feuille de sortie [ par magnifico2109 ] Bonjour, Je cherche le code permettant d'imprimer une page contenant deux frames horizontales. La première frame est l'en-tête d'un tableau de statist Remplir un tableau en fonction d'un SELECT [ par simsai ] Bonjour,mon probleme: je ne vois pas comment faire pour remplir le contenu d'un tableau en fonction de la selection de mon select?J'ai une page que j' Figer des colonnes [ par mlelorra ] BonjourJ'ai une page ou il y a un tableau. Ce tableau est constitué d'une quinzaine de colonnes et l'ensemble ne peut pas s'afficher sans faire défile Figer une ligne de tableau [ par mickelo ] Y a t-il moyen de figer une ligne de tableau pour que lorsqu'on défile la page grace a l'ascenseur cette ligne reste en haut de page, une sorte de rec Figer une ligne de tableau [ par mickelo ] Y a t-il moyen de figer une ligne de tableau pour que lorsqu'on défile la page grace a l'ascenseur cette ligne reste en haut de page, une sorte de rec Comment nserer un tableau sur plusieur page web ? [ par Elddryn ] Pour commencer bonjour à tous (c’est mon premier post sur votre forum). Je voudrais savoir si quelqu’un peux me v pb pr afficher une page ds un tableau [ par dudulebzh35 ] bonjour, je suis novice en la matiere, et je veux essayer ouvrir une page dans une case d'un tableau. est-ce possible ? sinon comment faire. <FONT f Scroll d'une iframe, je bloque ! [ par kurt67 ] Salut, à tous après près d'une heure de recherches infructueuses et d'essains vains, je me décide à poster ici mon problême en espérant que quelqu'un Redimensionner une page et non une iframe !!! [ par Leneuf8000 ] Bonjour, voilà j'aimerai pouvoir redimensionner une page que je charge dans un tableau. Je m'explique j'ai un tableau qui me place mes éléments de ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales