调用 mouseover 回调时出现 js 语法错误
我有一些 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);
当回调函数是空函数时,甚至会发生语法错误。
谁能解释一下导致语法错误的原因以及如何修复它?
(我在 Win XP 上使用 FF 3.5.2。)
I have some javascript code that creates an img tag with a mouseover callback, and adds the img tag to the page. The problem is that a javascript syntax error happens (in the Firefox Console) whenever the callback is invoked.
This code demonstrates the problem...
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);
The syntax error even happens when the callback function is an empty function.
Can anyone explain what's causing the syntax error and how to fix it?
(I'm using FF 3.5.2 on Win XP.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在传递一个需要字符串的函数。试试这个:
You're passing in a function where a string is expected. Try this instead: