Bonjour,

Quelles sont les solutions Javascript pour éviter ce problème (rencontré sous IE7) de désactivation de l'interception des événements :

Si on déclare une interception d'événement sur un élément du BODY (dans l'exemple : un 'onmousedown' sur une DIV), et si on modifie ensuite le contenu du BODY => alors l'interception initiale se retrouve désactivée.

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
   <HTML>
      <BODY>
         <DIV id=adiv>Cliquez ici</DIV>
         <SCRIPT type=text/javascript>
            adiv.onmousedown = function() {alert ("Mouse down")};
            alert(adiv.onmousedown);         // Affiche la fonction, tout est ok 
            document.body.innerHTML += "c" ;
            alert(adiv.onmousedown);         // Affiche 'null', le 'mouse down'  
                                             // n'est plus intercepté
         </SCRIPT>
      </BODY>
   </HTML>
Si on retire la ligne "document.body....", le 'mouse down' est intercepté normalement.

Merci de vos suggestions