Синтаксическая ошибка js при вызове обратного вызова при наведении курсора
-
05-07-2019 - |
Вопрос
У меня есть некоторый код 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.)
Решение
Вы передаете функцию, в которой ожидается строка. Попробуйте вместо этого:
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);
Не связан с StackOverflow