Voici un sujet de forum trouvé sur un autre site :

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
45
46
47
48
49
50
51
52
53
54
55
Bonjour
 
Je souhaiterais quelques infos sur le pb suivant
 
j ai un petit script trouvé sur le net ( je n ai plus l url ) qui permet d afficher une info bulle dans toute balise supportant l evenement onmouseover
 
il fonctionne parfaitement toutefois lorsque sous la balise est placé un champ forumaire liste ce champ s affiche par dessu la bulle alors que le pb n existe pas avec un champ texte ou tout autre chose ( image texte)
 
a quoi est-ce du a votre avis et pourrait on y remedier.
 
pourinfo le code est le suivant
( le tout est mis dans une variable $page pour un echo $page en php )
 
$page .="<script language=\"javascript\" type=\"text/javascript\">
<!--
function GetId(id)
{
return document.getElementById(id);
}
var i=false; // La variable i nous dit si la bulle est visible ou non
 
function move(e) {
if(i) { // Si la bulle est visible, on calcul en temps reel sa position ideale
if (navigator.appName!=\"Microsoft Internet Explorer\") { // Si on est pas sous IE
GetId(\"curseur\").style.left=e.pageX + 5+\"px\";
GetId(\"curseur\").style.top=e.pageY + 10+\"px\";
}
else { // Modif proposé par TeDeum, merci à lui
if(document.documentElement.clientWidth>0) {
GetId(\"curseur\").style.left=20+event.x+document.documentElement.scrollLeft+\"px\";
GetId(\"curseur\").style.top=10+event.y+document.documentElement.scrollTop+\"px\";
} else {
GetId(\"curseur\").style.left=20+event.x+document.body.scrollLeft+\"px\";
GetId(\"curseur\").style.top=10+event.y+document.body.scrollTop+\"px\";
}
}
}
}
 
function montre(text) {
if(i==false) {
GetId(\"curseur\").style.visibility=\"visible\"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId(\"curseur\").innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
i=true;
}
}
function cache() {
if(i==true) {
GetId(\"curseur\").style.visibility=\"hidden\"; // Si la bulle etais visible on la cache
i=false;
}
}
document.onmousemove=move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.
//-->
</script>";
La réponse était que c'est un bug connu d'IE et que le seul moyen était de faire disparaitre le select quand l'infobulle apparait.
Pas très élégant.

J'ai donc deux questions :
- Quelqu'un a t il une autre solution?
- Plus important : J'ai le même souci quand l'infobulle passe dessus un champ texte sur lequel on a le focus. L'infobulle passe sous le curseur de saisie de texte (le | qui clignote). Y a t il une solution qutre qu'enlever le focus du champs?

Merci d'avance.

Cordialement.

Sourivore.