【发布时间】:2017-11-05 18:49:27
【问题描述】:
在代码的顶部,我声明了对象表。然后,在函数 setup() 中,我试图为表中的每个对象添加 onmouseover 函数并将每个对象作为函数 pickUp(pick) 的参数传递,但随后我将鼠标悬停在该对象上,控制台显示“pick is不明确的”。这对我来说很奇怪,因为我通过了 pickUps[0] 并且 typeof(pickUps[0]) 给了我“对象”。有人可以解释并帮助将每个对象作为参数传递吗?
代码:
var locked = "#4C8299";
var pickedUp = "#CC1B2B";
var released = "#19FFC8";
var pickUps = document.getElementsByClassName("pickUpSquare");
function pickUp(pick){
if (pick.style.background == released){
pick.style.background = pickedUp;
}
}
function setup(){
for (var i = 0; i < pickUps.length; i++){
pickUps[i].onmouseover = function(){
pickUp(pickUps[i]);
}
}
}
window.onload = setup;
【问题讨论】:
-
一个问题是背景计算的样式值不会是十六进制值。提供minimal reproducible example
标签: javascript parameter-passing mouseevent onmouseover