问答详情
源自:9-22 编程练习

关于onmouseover问题

以下是我测试用的的代码:

<html>
<head>
<meta charset="utf-8" />
<script>
function changeColor(){
    var p=document.getElementById("p2");
    p2.onmouseover="this.style.backgroundColor='red'";
  }
</script>
</head>
<body>
<h1>Hello World!</h1>
<p id="p1" onmouseover="this.style.backgroundColor='blue'">这里是P1!</p>
<p id="p2">这里是P2!</p>
<input type="button" onclick="changeColor()" value="Click Me!" />
</body>
</html>

我想问一下,为什么p1那里那样写就起作用,但我像changeColor()里那样写成obj.onmouseover="XXXX";就不起作用,这是为什么啊??我试了好几次,都不成功,一点头绪都没有.....

提问者:慕神600158 2017-09-17 20:52

个回答

  • kunkka_l
    2017-09-18 10:27:15
    已采纳

    <script>

    function changeColor(){

        var p=document.getElementById("p2");


       p2.style.backgroundColor='red';//方法1

       p2.onmouseover=function()//方法2

       {

        this.style.backgroundColor='red';

       }

      }

    </script>


  • kunkka_l
    2017-09-20 10:58:56

    http://img.mukewang.com/59c1d8700001745204570305.jpghttp://img4.mukewang.com/59c1d86f0001d48803250144.jpg
    我也是个初学者 不知道分析对不对,onmouseover 应是js的保留函数关键字  只能用函数重写 ,其他方式相当于是增加属性 ,添加不上去。


  • kunkka_l
    2017-09-18 16:56:57

    不知道你什么浏览器,我用的chrome 60.0.3112.113 方法1 点击过后  这里是P2!背景变红,方法二点击过后  要鼠标放上去以后背景才会变红