Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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_Html_Function_Onclick_Href - Fatal编程技术网

Javascript函数是';我认不出

Javascript函数是';我认不出,javascript,html,function,onclick,href,Javascript,Html,Function,Onclick,Href,我没有很多javascript方面的知识,所以我不知道这里的问题是什么, 我在js中动态创建div,每个div在被单击时调用一个函数,但函数没有被重新定义。这是代码的一部分 (……)的{ var listatema=document.createElement(“div”); listatema.innerHTML+=“”; document.getElementById('menu').appendChild(listatema);} } “tema”是一个文本,函数“functest”有一

我没有很多javascript方面的知识,所以我不知道这里的问题是什么, 我在js中动态创建div,每个div在被单击时调用一个函数,但函数没有被重新定义。这是代码的一部分

(……)的
{
var listatema=document.createElement(“div”);
listatema.innerHTML+=“”;
document.getElementById('menu').appendChild(listatema);}
}
“tema”是一个文本,函数“functest”有一个参数“pag[aux]”,这是一个数字

功能是:

function functest(arg){
   console.log(arg)
}
我尝试的另一种选择是更改:
onClick='“+functest(pag)+'

我更改了引号“”的位置,函数工作正常,但它是在加载页面时执行的,它不会等待单击

onClick='functest(\""+ pag +"\")'

您忘记引用参数。

如果您正在执行以下操作,则代码应该可以工作:

函数功能测试(arg){
控制台日志(arg);
}
对于(变量i=0;i<10;i++){
var listatema=document.createElement(“div”);
listatema.innerHTML+=“”;
document.getElementById('menu').appendChild(listatema);
}

在JSFIDLE上测试类似的解决方案时,我一直在为这个问题绞尽脑汁。真正有趣的是,您的第一个解决方案在代码片段中非常适合我,但告诉我函数在JSFIDLE上是未定义的。我完全复制了你的代码。你知道为什么会这样吗。您的第二个解决方案似乎在这两个位置都可以正常工作:)这可能是如何将脚本注入JSFIDLE的。我认为这是因为它们将函数封装在一个
onLoad
处理程序中,因此它不会被提升到全局范围。如果你在HTML中添加一个嵌入式脚本,它应该可以工作-。似乎就是这样!感谢您的澄清:)虽然我不是问这个问题的那个人,但您在指出JSFIDLE的有限范围方面仍然为我提供了巨大的帮助。我已经对你的答案投了赞成票,但我也希望能为你的评论奖励一些代表;)NP很高兴能为您提供帮助谢谢,我解决了添加“bind”这样的问题
functest.bind(null,I)
非常有助于您的建议。