Синтаксическая ошибка js при вызове обратного вызова при наведении курсора - PullRequest
1 голос
/ 09 сентября 2009

У меня есть некоторый код 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('mouseover ' + imgUrl);
        });
        document.body.appendChild(img);
    

Синтаксическая ошибка возникает даже тогда, когда функция обратного вызова является пустой функцией.

Может кто-нибудь объяснить, что вызывает синтаксическую ошибку и как ее исправить?

(Я использую FF 3.5.2 на Win XP.)

1 Ответ

6 голосов
/ 09 сентября 2009

Вы передаете функцию, где ожидается строка. Попробуйте вместо этого:

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