我正在研究一个小练习程序,其中有3个白色框连续排列。我的目标是(使用Javascript)将鼠标放在盒子上的任何盒子从白色变成红色,然后当鼠标脱离盒子时变为黄色。下面的代码适用于初始方框,但不适用于其他两方。当我将鼠标放在其他盒子上时,它不会改变它们,但它确实会改变inital盒子上的颜色。我看过类似的问题,但其中大多数涉及jQuery,我不使用。我已经做了一些研究,可能的解决方案可能涉及使用addEventListener或使用“this”。我不想给按钮ID以不同的名称,并根据它们编写额外的过程 - 这样做效率不高。我知道必须有更有效的方法。任何建议表示赞赏。如何处理来自同名多个按钮的事件
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Whiteboxes 5</title>
<script type="text/javascript">
function changeColorOnMouseOver()
{
var control=document.getElementById("btn");
control.style.background='red';
}
function changeColorOnMouseOut()
{
var control=document.getElementById("btn");
control.style.background='yellow';
}
</script>
<link rel="stylesheet" href="css/app5.css">
</head>
<body>
<input type="button" value="" id="btn"
onmouseover="changeColorOnMouseOver()"
onmouseout="changeColorOnMouseOut()"/>
<input type="button" value="" id="btn"
onmouseover="changeColorOnMouseOver()"
onmouseout="changeColorOnMouseOut()"/>
<input type="button" value="" id="btn"
onmouseover="changeColorOnMouseOver()"
onmouseout="changeColorOnMouseOut()"/>
</body>
</html>
你不能有相同的'id'多个元素。 – brroshan