document.images上的JavaScript addEventListener

时间:2012-01-18 04:27:50

标签: javascript events

我试图通过addEventListener点击它时动态更改图片。我有documents.images数组中的图片。我已经编写了一个函数来切换图像。如果我点击图片,我遇到的问题是绑定它。

这就是我试过的

document.images[i]src.addEventListener("click", MakeMove, false);

2 个答案:

答案 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和其他情况。