我正在研究一個小練習程序,其中有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