为了账号安全,请及时绑定邮箱和手机立即绑定

关于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";就不起作用,这是为什么啊??我试了好几次,都不成功,一点头绪都没有.....

正在回答

3 回答

<script>

function changeColor(){

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


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

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

   {

    this.style.backgroundColor='red';

   }

  }

</script>


0 回复 有任何疑惑可以回复我~
#1

慕神600158 提问者

还是不起作用...
2017-09-18 回复 有任何疑惑可以回复我~
#2

慕神600158 提问者

非常感谢!
2017-09-19 回复 有任何疑惑可以回复我~

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


1 回复 有任何疑惑可以回复我~
#1

慕神600158 提问者

thanks!
2017-09-20 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕神600158 提问者

方法2通过测试了 我还有个问题: 直接这样写可以么? document.getElementById("p2").onmouseover="this.style.backgroundColor='red'"
2017-09-19 回复 有任何疑惑可以回复我~
#2

kunkka_l 回复 慕神600158 提问者

document.getElementById("p2").onmouseover 是null 这些东西写一下 console.log(document.getElementById("p2").onmouseover) 或者alert 输出一下就清楚了
2017-09-19 回复 有任何疑惑可以回复我~
#3

慕神600158 提问者 回复 kunkka_l

那为什么那样写不行呢?
2017-09-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

关于onmouseover问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信