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.)

Était-ce utile?

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
scroll top