javascript - 单击处理程序事件监听器

标签 javascript dom-events

我到处寻找,即使找到了答案,也没有以我能理解的方式表达出来。我正在 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);

http://jsfiddle.net/UumUP/3145/

关于javascript - 单击处理程序事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13482682/

相关文章:

javascript - Puppeteer:找不到由 Javascript 加载的元素

javascript - 使用 D3 将背景图像转换为 SVG 等值线图

javascript - AJAX 成功后如何关闭模态窗口

javascript - Chrome 扩展程序 - "Port error: Could not establish connection. Receiving end does not exist"

javascript - Socket.IO - 如何向房间里的每个人发出事件,包括发件人?

javascript - 在 javaScript 中使用 fetch API 上传文件

twitter-bootstrap - 如何使用 Twitter Bootstrap ScrollSpy 执行功能

javascript - onMouseOver 和 onMouseEnter 之间的区别

javascript - 事件委托(delegate)与闭包/For 循环?提供代码比较吗?哪种风格更好?

javascript - 谷歌可视化 map