Erreur de syntaxe js lors de l'appel du rappel mouseover
-
05-07-2019 - |
Question
J'ai du code javascript qui crée une balise img avec un rappel de souris et ajoute la balise img à la page. Le problème est qu’une erreur de syntaxe javascript se produit (dans la console Firefox) chaque fois que le rappel est appelé.
Ce code montre le problème ...
var imgUrl = 'http://sstatic.net/so/img/logo.png'; var img = document.createElement('img'); img.setAttribute('src', imgUrl); img.setAttribute('onmouseover', function() { alert('mouseover ' + imgUrl); }); document.body.appendChild(img);
L'erreur de syntaxe survient même lorsque la fonction de rappel est une fonction vide.
Quelqu'un peut-il expliquer la cause de l'erreur de syntaxe et comment y remédier?
(J'utilise FF 3.5.2 sur Win XP.)
La solution
Vous transmettez une fonction dans laquelle une chaîne est attendue. Essayez ceci à la place:
var imgUrl = 'http://sstatic.net/so/img/logo.png';
var img = document.createElement('img');
img.src = imgUrl;
img.onmouseover = function() {
alert('mouseover ' + imgUrl);
};
document.body.appendChild(img);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow