mouseover事件可以用在任何元素上,还是只用在图像上?

irf*_*eed -1 javascript mouseover

<html >
 <head>   
  <title>JavaScript Example</title>
    <script type="text/javascript">
      function greet { 
        var greet = document.getElementById("greeting");
        greet.value="this is dynamic";
    </script>
 </head>
 <body>
   <p onmouseover="greet()"> Hello! Welcome to My Page </p> 
</html> 
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

Jam*_*ice 5

首先,您尚未关闭greet功能(缺少结束}字符).其次,你错过了函数名后面的括号:

function greet() {
    //Function body
}
Run Code Online (Sandbox Code Playgroud)

其次,您正在getElementById尝试获取对p元素的引用,但p元素没有id.

第三,greet变量将包含对p元素的引用,该元素没有value属性(例如,input元素do).innerHTML如果您尝试更改元素的内容,则可能意味着.

最后,你还没有关闭你的<body>元素.编辑(见评论) - 这不是问题,但我个人更喜欢关闭它以保持一致性.

您可以在调用时将对元素的引用传递给函数,以节省您必须通过以下方式获取它id:

<p onmouseover="greet(this);">Example</p>
Run Code Online (Sandbox Code Playgroud)

和JavaScript:

function greet(elem) {
    elem.innerHTML = "Something new";
}
Run Code Online (Sandbox Code Playgroud)