我有非常简单的代码,我不确定为什么当鼠标悬停在图像上时不会触发Foo函数:
here <img id="sss" alt="some image" onmouseover="Foo(this);" src="https://www.google.com/intl/en_com/images/srpr/logo3w.png" width="16" height="16" />
<div onmouseover="Foo(this);">
THIS IS DIV
</div>
function Foo(obj)
{
alert('s');
}
更新1:
实际发生的是我动态创建图像元素然后将其添加到页面中。 Foo函数已经在JS文件中,但它永远不会被调用。
答案 0 :(得分:2)
您当前的代码是正确的,如this fiddle所示。我猜你的问题是Foo在你的页面上不是全局的。
此外,您可以使用this
call
作为参数传递给您的函数,而不是将其设置为函数内的值
onmouseover="Foo.call(this);"
function Foo() {
alert(this.src); //this is the img you just mouse-overed
}
最后,请考虑将Foo
更改为foo
,因为以大写字母开头的函数通常表示JavaScript中的构造函数。
答案 1 :(得分:1)
如果这是您的实际代码,那么唯一的问题是您需要将JavaScript包装在<script>
中:
<script>
function Foo(obj) {
alert('s');
}
</script>
观看演示:
答案 2 :(得分:1)
编辑:只要您在<head>
试一试:jsfiddle