Bonjour à tous.
Je m'inscris spécialement sur ce forum pour essayer de trouver une solution au problème que je vais vous soumettre : j'y ai si souvent, en tant que visiteur, glané des informations utiles... Permettez-moi, pour cela, de vous remercier !
Je suis actuellement en train de construire mon site. Le projet est déjà bien avancé.
Je précise que c'est à des fins d'exercices, afin de parfaire mes connaissances en JavaScript sur certains points précis, que je me suis embarqué dans l'écriture d'un script pour gérer des rollovers.
J'ai isolé et simplifié au mieux le morceau de code qui pose problème : à l'exécution, il ressort un 'conflit' entre le focus et le blur…
Si le premier lien du 'menu_horizontal' reçoit le focus, grâce à la touche tabulation, il le perd immédiatement, pour une raison qui m'échappe, au profit du blur… Et le code entame une boucle infinie
Quelqu'un aurait-il une idée qui pourrait me mettre sur la piste d'une solutions ?
Petite précision : le problème ne se pose pas avec mouseover, click et mouseout.
Merci, par avance, du temps que vous m'accorderez...
Je m'inscris spécialement sur ce forum pour essayer de trouver une solution au problème que je vais vous soumettre : j'y ai si souvent, en tant que visiteur, glané des informations utiles... Permettez-moi, pour cela, de vous remercier !
Je suis actuellement en train de construire mon site. Le projet est déjà bien avancé.
Je précise que c'est à des fins d'exercices, afin de parfaire mes connaissances en JavaScript sur certains points précis, que je me suis embarqué dans l'écriture d'un script pour gérer des rollovers.
J'ai isolé et simplifié au mieux le morceau de code qui pose problème : à l'exécution, il ressort un 'conflit' entre le focus et le blur…
Si le premier lien du 'menu_horizontal' reçoit le focus, grâce à la touche tabulation, il le perd immédiatement, pour une raison qui m'échappe, au profit du blur… Et le code entame une boucle infinie
Quelqu'un aurait-il une idée qui pourrait me mettre sur la piste d'une solutions ?
Petite précision : le problème ne se pose pas avec mouseover, click et mouseout.
Merci, par avance, du temps que vous m'accorderez...
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<style>
/* Ces couleurs ne sont pas celles de mon site [smile] !*/
body{background-color: #000000; color: #ffffff;}
.link_1 {color: red; }
.visited_1 {color: aliceblue; }
.hover_1 {color: yellow; }
.focus_1 {color: aqua; }
.active_1 {color: blue; }
.link_2 {color: white; }
.visited_2 {color: red; }
.hover_2 {color: blue; }
.focus_2 {color: green; }
.active_2 {color: orange; }
</style>
</head>
<body>
<div id="">
<nav id="menu_horizontal">
<ul>
<li><a href="http://www.1.com/" id="item_menu_horizontal_01" class="active_1">Lien 1</a><br/></li>
<li><a href="http://www.2.com/" id="item_menu_horizontal_02" class="link_1">Lien 2</a><br/></li>
<li><a href="http://www.3.com/" id="item_menu_horizontal_03" class="link_1">Lien 3</a><br/></li>
</ul>
</nav>
<p></p>
<nav id="menu_vertical" name="menu_vertival" class="" style="">
<ul>
<li><a href="http://www.A.com" id="item_menu_vertical_01" class="active_2">Lien 1</a><br/></li>
<li><a href="http://www.B.com" id="item_menu_vertical_02" class="link_2">Lien 2</a><br/></li>
<li><a href="http://www.C.com" id="item_menu_vertical_03" class="link_2">Lien 3</a><br/></li>
<li><a href="http://www.D.com" id="item_menu_vertical_04" class="link_2">Lien 4</a><br/></li>
</ul>
</nav>
<script type="text/javascript" language="javascript"src="scripts/script.js"></script>
</div>
</body>
</html>
var ids_des_liens = new Array();
ids_des_liens [0] = ("item_menu_horizontal_01");
ids_des_liens [1] = ("item_menu_horizontal_02");
ids_des_liens [2] = ("item_menu_horizontal_03");
ids_des_liens [3] = ("item_menu_vertical_01");
ids_des_liens [4] = ("item_menu_vertical_02");
ids_des_liens [5] = ("item_menu_vertical_03");
ids_des_liens [6] = ("item_menu_vertical_04");
for (var compteur = 0; compteur < ids_des_liens.length; compteur++) {
var lien = document.getElementById(ids_des_liens[compteur]);
lien.addEventListener("focus", function() {
var item_actif = this.getAttribute("id");
var starter = "focus";
alert("focus");
} );
lien.addEventListener("blur", function() {
var item_actif = this.getAttribute("id");
var starter = "blur";
alert("blur");
} );
}