Je suis en train de déboguer une application pour IE8 (après IE6, IE7 maintenant IE8). Je suis allé recevoir un bug dans une de mes interfaces lorsque nous faisions une action sur une liste déroulante et je me demandais pourquoi cela ne se passait pas avant. J'ai finalement découvert qu'une liste déroulante (ou un select) appelant une méthode nommée "role()" directement n'était pas supportée.IE8 - JavaScript dropdown onchange appelant "role()" provoque une erreur
Est-ce que quelqu'un sait pourquoi?
Voici un exemple du bug:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function rolea(dropdown){
alert("value");
//role();
}
function role(){
alert("value");
}
</script>
</head>
<body>
<select onchange="role()" name="select1">
<option>a</option>
<option>b</option>
</select>
</body>
</html>
Si nous appelons "rôle()" ça ne marche pas et je reçois l'erreur: ligne: 18 Erreur: Objet n » t soutenir cette action
Lorsque j'appelle "rolea()" cela fonctionne et l'alerte JavaScript apparaît. Et aussi si j'essaie d'appeler "role()" de "rolea()" cela fonctionne aussi.
Wow, merci pour l'explication. – Nordes
Je me serais attendu dans IE8 "mode standards IE8" que ce genre de truc hacky * magical * portée aurait disparu. Pouah ... oh bien. – scunliffe