Bonjour et bonne année!
Je souhaiteriais détecter le click en dehors d'un objet précis, à la manière en actionscript de "onReleaseOutside", mais je n'ai pas trouvé de gestionnaire d'évènement à cet effet, y aurais-t'il une parade?
Merci.
Bonjour et bonne année!
Je souhaiteriais détecter le click en dehors d'un objet précis, à la manière en actionscript de "onReleaseOutside", mais je n'ai pas trouvé de gestionnaire d'évènement à cet effet, y aurais-t'il une parade?
Merci.
Yop!
Peut-être procéder en deux temps: Utiliser le onMouseOut / onMouseOver de l'objet pour modifier une variable, puis utiliser le onMouseDown sur le BODY qui réagirait en fonction de la variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <html> <head> <script language="javascript" type="text/javascript"> var theflag = "out"; function testflag() { if (theflag == "out") alert("click en dehors de l'objet"); if (theflag == "in") alert("click dans de l'objet"); } </script> </head> <body onMouseDown="testflag()"> <table> <tr><td onMouseOut="theflag='out'" onMouseOver="theflag='in'">Objet</td> </table> </body> </html>
ou en gérant l'événement onclick :
un autre exemple mettant en valeur la priorité des objets pour un même événement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <html> <head> <title></title> <script type="text/javascript"> <!-- var clicDiv = false; function gestionClicDiv() { clicDiv = true; } function gestionClicDoc() { if (clicDiv) { document.getElementById("idTest").innerHTML = "clicDiv"; clicDiv = false; } else { document.getElementById("idTest").innerHTML = "clicDoc"; } } //--> </script> </head> <body onclick="gestionClicDoc()"> <div style="border: 1px #AAAAAA solid; width: 200px; height: 200px" onclick="gestionClicDiv()"> cliquez dans ce div... </div> <div id="idTest"> </div> </body> </html>
tu remarqueras que le clic sur le div est prioritaire sur le clic dans le document (pour IE et Firefox au moins)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <html> <head> <title></title> <script type="text/javascript"> <!-- function gestionClicDiv1() { document.getElementById("idTest").innerHTML += "clicDiv1 "; } function gestionClicDiv2() { document.getElementById("idTest").innerHTML += "clicDiv2 "; } function gestionClicDoc() { document.getElementById("idTest").innerHTML += "clicDoc "; } //--> </script> </head> <body onclick="gestionClicDoc()"> <div style="border: 1px #AAAAAA solid; width: 200px; height: 200px" onclick="gestionClicDiv1()"> cliquez dans ce div 1... <div style="border: 1px #AAAAAA solid; width: 100px; height: 100px; margin: 20px;" onclick="gestionClicDiv2()"> cliquez dans ce div 2... </div> </div> <div id="idTest"> </div> </body> </html>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager