Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的事件侦听器不工作?_Javascript_Javascript Events - Fatal编程技术网

Javascript 为什么我的事件侦听器不工作?

Javascript 为什么我的事件侦听器不工作?,javascript,javascript-events,Javascript,Javascript Events,我一直在到处寻找,即使我找到了答案,也没有用我能理解的语言表达出来。我正在JSFIDLE上处理这段代码,试图理解为什么这个点击处理程序不起作用。我很抱歉,如果这是一个无用的帖子,只是想弄明白这一切。如果有人知道javascript代码如何呈现以及函数如何传递对象等方面的好教程。。请,一定要联系我!我已经阅读了如何编写函数等的基础知识。。但对我来说,理解代码解析时发生的事情是完全不同的 以下是我正在尝试使用的代码: //用于更改t2内容的函数 函数修改文本(evt){ var thing=evt

我一直在到处寻找,即使我找到了答案,也没有用我能理解的语言表达出来。我正在JSFIDLE上处理这段代码,试图理解为什么这个点击处理程序不起作用。我很抱歉,如果这是一个无用的帖子,只是想弄明白这一切。如果有人知道javascript代码如何呈现以及函数如何传递对象等方面的好教程。。请,一定要联系我!我已经阅读了如何编写函数等的基础知识。。但对我来说,理解代码解析时发生的事情是完全不同的

以下是我正在尝试使用的代码:

//用于更改t2内容的函数
函数修改文本(evt){
var thing=evt.target;
thing.firstChild.nodeValue=“四”;
}  
//将事件侦听器添加到
var el=document.getElementsByTagName(“td”);
对于(i=0;i
如果要调用函数并传递该调用的结果,而不是传递函数的引用,请执行以下操作:

el[i].addEventListener("click", modifyText, false);

应该是

el[i].addEventListener("click", modifyText, false); 

OT:
:-O
您真的有3144个相同代码的修订版吗?您不必单击
Update
来运行和测试代码,请单击
run
。因此,当触发事件侦听器时,会调用modifyText,因为参数中有evt,它会将事件对象传递到被调用的函数中,所以我可以引用它?@MarcCasavant您正在某个地方传递函数引用,当事件发生时,浏览器将使用适当的参数调用该函数。无论您是否将
evt
作为参数传入,参数都是以任意方式传递的。对于第一个参数,您总是可以使用
参数[0]
引用传递的参数;对于第二个参数,您可以使用
参数[1]
等等。因此,如果我从modifyText函数中的参数中删除evt参数,为什么代码无法工作?@MarcCasavant工作正常:您是否引用了传递的参数?很正常,我仍然感到困惑,并试图理解将evt放在函数的参数部分是如何工作的。是什么导致参数中的evt接受事件对象的?对不起,如果这不合理,我是新手。
el[i].addEventListener("click", modifyText(evt), false); 
el[i].addEventListener("click", modifyText, false);