应用的onClick以元素的数组For循环(Applying onClick to Element

2019-09-22 15:13发布

我想onClick事件应用到文档中的元素,像这样的数组:

for (var i = 0; i < myElems.length; i++)
     myElems[i].onClick = "someFunction(this)";

代码被置于init()函数的内部对身体标记的onLoad事件。 我注意到,当文件加载,功能无法正常工作。

我注意到,如果我添加警报()告诉我,如果函数的问题是:

for (var i = 0; i < myElems.length; i++)
     myElems[i].onClick = "alert('It worked!')";

该文件将加载和所有元素进行警告,而没有考虑到我是否实际点击的元素。

我究竟做错了什么?

Answer 1:

属性名称是onclick

onClick即使是有效的HTML,不JS,因为它是区分大小写的存在。

你也需要给它分配一个函数引用或表达式作为大卫说:(+1)。

小提琴



Answer 2:

你需要的“的onclick”处理程序分配给功能:

for (var i = 0; i < myElems.length; i++)
     myElems[i].onclick = function() { someFunction(this);};

分配你的“警报”直接调用将触发它(正如你所看到的)。 你想要做什么是你的处理程序分配给当事件被触发时被调用函数。



文章来源: Applying onClick to Element Array in a For Loop