1

我有一些 javascript 代码创建一个带有鼠标悬停回调的 img 标签,并将 img 标签添加到页面。问题是每当调用回调时都会发生 javascript 语法错误(在 Firefox 控制台中)。

此代码演示了问题...

    
        var imgUrl = 'http://sstatic.net/so/img/logo.png';
        var img = document.createElement('img');
        img.setAttribute('src', imgUrl);
        img.setAttribute('onmouseover', function() {
            alert('鼠标悬停' + imgUrl);
        });
        document.body.appendChild(img);
    

当回调函数为空函数时,甚至会发生语法错误。

谁能解释导致语法错误的原因以及如何解决?

(我在 Win XP 上使用 FF 3.5.2。)

4

1 回答 1

6

您正在传入一个需要字符串的函数。试试这个:

    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);
于 2009-09-09T19:59:44.277 回答