Tu peux définir les actions dans des fonctions javascript. Par exemple :
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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<script type="text/javascript">
<!--
function initEvent()
{
// définition de l'événement onclick sur le div1 et sur le div2
document.getElementById("div1").onclick = function() {alert("tu as cliqué dans le DIV 1");};
document.getElementById("div2").onclick = function() {clic2()};
}
function clic2()
{
alert("tu as cliqué dans le DIV 2");
}
//-->
</script>
</head>
<body onload="initEvent()">
<div id="div1" style="width: 200px; height: 200px; border: #000000 solid 2px">ceci est le div 1. Clique dans le cadre</div>
<div><br /><br /><br /><br /><br /></div>
<div id="div2" style="width: 400px; height: 200px; border: #000000 solid 2px">ceci est le div 2. Clique dans le cadre</div>
</body>
</html> |
dans cet exemple, les événements onclick sur les div 1 et 2 ne sont pas définis dans le code HTML mais dans une fonction javascript initEvent() appelée lors du chargement de la page (<body onload="initEvent()">).
Il y a de grandes chances que les bibliothèques que tu utilises définissent les événements de cette manière. Le problème est que si tu as :
document.getElementById("idElement").onclick = function() {fonction_1()};
puis plus loin dans le code (ou dans un autre fichier JS) :
document.getElementById("idElement").onclick = function() {fonction_2()};
le second code va remplacer ce qui a été défini dans un premier temps.
Partager