ReferenceError:未定义的变量

时间:2013-07-12 12:20:08

标签: javascript html

我是JS的新手,任何帮助都会受到赞赏

有以下代码

<head>
  <script language="Javascript">
      function my(eve)
      {
        // Internet Explorer
        if (eve.srcElement)
        {
          alert(eve.srcElement.nodeName);
        }
        // Netscape and Firefox
          else if (eve.target)
        {
          alert(eve.target.nodeName);
        }
      };
</script>
</head>
<body onmousemove="my(eve);">
  //Some HTML code
</body>

在浏览器窗口上移动鼠标时在FF控制台中出现错误 -

"ReferenceError: eve is not defined

my(eve);"

2 个答案:

答案 0 :(得分:3)

您可能打算这样做:

<body onmousemove="my(event);">

也就是说,您希望将event对象传递给my()函数。然后在该函数中,您可以通过eve变量引用它。 (请注意,定义名为e而非eve的事件变量是非常常见的 - 这是一个偏好问题,它会以任何方式工作。)

此外,您的结束脚本标记不正确,您应该</script>而不是<script>

工作演示:http://jsbin.com/oyoqeg/1/edit

(请注意,在mousemove上显示警告会使页面几乎无法使用,但这是另一个问题。)

答案 1 :(得分:2)

你必须首先定义“前夕”。如果前夕是文字,则应使用my('eve'),如果前夕是变量,则需要先使用var eve =... ;

定义它

否则,您可能希望使用eventthismy(event)my(this)