我是一个JavaScript的新手& HTML5。我遍历一组名为请求的对象并为它们创建div。我试图让它如此,如果任何项目都悬停在样式类更改上,并且如果点击它们,我稍后将调用一个函数,但现在只需要一个警报。只有最后一项得到它。只有最后一项绑定点击/悬停事件?
我已经看过其他人看起来像是类似的问题,但我看不出我要去哪里。
for (i= 0; i<reqs.length; i++) {
var requestID = "request"+i;
// Build the DIV for each request
element.innerHTML += "<div id="+requestID+" class=request><img class=requestImage src=images/"
+reqs[i].image+" alt=Face /> "+reqs[i].name+"</div>";
var requestElement = $('#'+requestID);
requestElement.hover(
function() {
$(this).removeClass().addClass("requestHover");
},
function() {
$(this).removeClass().addClass("request");
}
);
requestElement.click(
// if the request is clicked, then alert me - testing
function() {
alert('Handler for .click() called.');
}
);
}// end for
从我的理解的$(“#request1”)应引用第一个div项目,$(“#请求2”)第二,等它的行为就像每个.hover和分配。点击覆盖前一个。
您可能被封闭相关的错误所占用。请为此代码提供更多范围(任何封闭函数?)。 – Jon