以下是我测试用的的代码:
<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";就不起作用,这是为什么啊??我试了好几次,都不成功,一点头绪都没有.....
<script>
function changeColor(){
var p=document.getElementById("p2");
p2.style.backgroundColor='red';//方法1
p2.onmouseover=function()//方法2
{
this.style.backgroundColor='red';
}
}
</script>
我也是个初学者 不知道分析对不对,onmouseover 应是js的保留函数关键字 只能用函数重写 ,其他方式相当于是增加属性 ,添加不上去。
不知道你什么浏览器,我用的chrome 60.0.3112.113 方法1 点击过后 这里是P2!背景变红,方法二点击过后 要鼠标放上去以后背景才会变红