Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/05/2011, 23h24   #1
Invité de passage
 
Inscription : mai 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 2
Points : 0
Points : 0
Par défaut onmousemouve appliquer via js à IE7

Bonjour,

Je voudrais savoir si je suis face à un bug connu ou si je fais une erreur, bref.

A partir d'une DIV en html, je cree en javascript à l'interieur de celle ci une image, 2 boutons et 2 liens qui couvrent à eux 2 l'ensemble de la DIV, la separant en 2 parties égales dans la verticale de l'image. OK ? Bon.

J'affecte ensuite des comportements à ces differents truc, toujours en javascript :
1/ onmouseover et onmouseout pour la DIV
2/ rien pour les boutons
3/ onmouseover et onmouseout pour les 2 liens

Sur Chrome, FF, Safari, IE8 tout va bien. Par contre sur IE6 et 7... Rien ne va plus.
Et même si je simplifie et que je teste l'affectation d'un comportement sur 1 lien dans 1 DIV... Ca ne fonctionne pas. Alors quoi ? Que ce passe t'il ?

Voici le code de test (c'est adapté en vitesse, mais j'espere lisible) :
Code :
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<title></title>
 
</head>
<body>
<div id="a">
</div>
<script type="text/javascript">
var wReel = 100;
var hReel = 200;
var cible = "a";
var nom = "truc";
var map = document.createElement("div"); 
map.id = cible+"_map"; 
map.style.position = "absolute"; 
map.style.zIndex = 3; 
map.style.top = 0; 
map.style.left = 0; 
map.style.margin = 0; 
map.style.padding = 0; 
map.style.width = wReel; 
map.style.height = hReel; 
 
// Cree la zone "suivante" 
var area = document.createElement("a"); 
area.id = "areaSuiv"; 
area.setAttribute("style", ""); 
 
area.style.position = "absolute"; 
area.style.zIndex = 3; 
area.style.top = 0; 
area.style.left = Math.floor(wReel/2)+"px"; 
area.style.width = Math.floor(wReel/2)+"px"; 
area.style.height = hReel+"px"; 
area.style.backgroundColor = "#000FFF"; 
 
area.setAttribute("onclick", "javascript:alert('"+cible+"');"); 
area.setAttribute("onmouseover", "javascript:alert('"+cible+"_suivant');"); 
map.appendChild(area); 
 
document.getElementById("a").appendChild(map);
</script>
</body>
</html>
Merci
tepaze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 23h38   #2
Futur Membre du Club
 
Homme Valérian
Développeur Web
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme Valérian

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 14
Points : 18
Points : 18
Je n'ai pas testé mais à première vu, il faudrait retirer "javascript:" des attributs d'évènement. Et même mieux :

Code :
1
2
3
4
5
6
7
8
9
10
11
// area.setAttribute("onclick", "javascript:alert('"+cible+"');");  // area.setAttribute("onmouseover", "javascript:alert('"+cible+"_suivant');");

area.onclick = function()
{
alert('click');
}; 
area.onmouseover = function()
{
alert('mouseover');
};
Fluid-Val est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 08h51   #3
Invité de passage
 
Inscription : mai 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 2
Points : 0
Points : 0
J'ai essayé sans le mot javascript, mais ca ne change rien.
J'essai les autres pistes.

Merci
tepaze est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h55.


 
 
 
 
Partenaires

Hébergement Web