我到处寻找,即使找到了答案,也没有以我能理解的方式表达出来。我正在 jsfiddle 上玩弄这段代码,试图理解为什么这个点击处理程序不起作用。如果这是一篇无用的帖子,我很抱歉,只是想弄清楚这一切。如果有人知道有关如何呈现 JavaScript 代码以及函数如何传递对象等的任何好教程,请链接我!我已经阅读了如何编写函数等的基础知识……但对我来说,了解解析代码时发生的情况是完全不同的事情。
这是我想要开始工作的代码:
http://jsfiddle.net/UumUP/3144/
// Function to change the content of t2
function modifyText(evt) {
var thing = evt.target;
thing.firstChild.nodeValue = "four";
}
// add event listener to t
var el = document.getElementsByTagName("td");
for(i = 0; i < el.length; i++) {
el[i].addEventListener("click", modifyText(evt), false);
}
最佳答案
您正在调用该函数并传递该调用的结果,而不是传递该函数的引用,而是执行以下操作:
el[i].addEventListener("click", modifyText, false);
关于javascript - 单击处理程序事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13482682/