我试图通过addEventListener点击它时动态更改图片。我有documents.images数组中的图片。我已经编写了一个函数来切换图像。如果我点击图片,我遇到的问题是绑定它。
这就是我试过的
document.images[i]src.addEventListener("click", MakeMove, false);
答案 0 :(得分:3)
您想将事件添加到实际图像中:
document.images[i].addEventListener("click", MakeMove, false);
但旧版浏览器不支持这些DOM Level 2事件处理程序,因此,假设这些图像不必具有多个点击处理程序,请考虑执行
document.images[i].onclick = MakeMove;
修改强>
要将参数传递给MakeMove
,您需要将onclick
设置为一个匿名函数,该函数使用您需要的任何值调用MakeMove
:
document.images[i].onclick = function() {
MakeMove(12);
}
从原始代码:
document.images[i]src
无效,
document.images[i].src
将是一个字符串,您显然无法添加事件处理程序。
答案 1 :(得分:1)
看起来你有语法错误。
尝试:
document.images[i].addEventListener("click", MakeMove, false);
需要直接在图像对象上添加事件侦听器。使用JSLint(www.jslint.com)确保将来避免这些错误!
注意:这只适用于支持的浏览器(除了IE之外的所有内容).addEventListner。最好使用库,这样你就不用担心了,但如果你需要,.attachEvent('onclick',MakeMove)将处理IE和其他情况。