[英]Not able attach click event for a button using Javascript oop
我正在将click事件附加到具有类“ nextPage”的按钮上,但它不起作用。 让我向您展示代码。
function myContent() {
}
myContent.prototype.clickNext = function() {
alert("clicked");
};
var objMyContent = new myContent();
var el = document.getElementsByClassName('nextPage');
el.onclick=objMyContent.clickNext();
请看一下。 请让我知道我在哪里做错了。
分配点击处理程序时,您需要引用该函数,而不是执行它。
代替:
el.onclick = objMyContent.clickNext();
用这个:
el.onclick = objMyContent.clickNext;
第一段代码执行clickNext
,并将其返回值分配给el.onclick
。
第二行将对clickNext
函数的引用分配给el.onclick
。 (这是您想要的)
另外, getElementsByClassName
返回一个HTMLCollection
(基本上是HTML元素的数组)。
您需要将点击处理程序分配给该集合中找到的每个元素:
for(var i = 0; i < el.length; i++){
el[i].onclick = objMyContent.clickNext;
}
迭代数组并分配onclick事件
var objMyContent = new myContent();
var el = document.getElementsByClassName('nextPage'); for(var i=0;i<el.length;i++) el[i].onclick=objMyContent.clickNext;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.