onclick函数在不单击javascript的情况下执行

onclick函数在不单击javascript的情况下执行,javascript,html,javascript-events,onclick,Javascript,Html,Javascript Events,Onclick,我正在使用一些Javascript和Ajax函数。在我解释自己的时候,我会把一些代码写得更清楚 我有这个元素:YES 当用户单击DIV时,该函数将替换类似以下内容的“是”: YES <input type="radio" name="testing" value="YES" onclick="test_2(this.value)" checked /> NO <input type="radio" name="testing" value="NO" onclick="test

我正在使用一些Javascript和Ajax函数。在我解释自己的时候,我会把一些代码写得更清楚

我有这个元素:
YES

当用户单击DIV时,该函数将替换类似以下内容的“是”:

YES <input type="radio" name="testing" value="YES" onclick="test_2(this.value)" checked /> 
NO <input type="radio" name="testing" value="NO" onclick="test_2(this.value)" />

是的,您的问题在于
div.onclick=
这里您实际上是在为您的div分配一个单击操作!它将在页面加载时执行

您想要的是像这样分配一个事件侦听器

div.addEventListener('click' function(){});

我有同样的问题,我找到了这一页。我检查了addEventListener的规格,发现我输入了一对过多的括号


有两种方法可以做到这一点:
1.像上面的答案一样使用匿名函数(即没有名字,定义得恰到好处)。
2.不能添加括号。只需使用('click',myfunction)

如果要使用参数,请将函数包装为匿名函数。这样地: div.addEventListener('click',function(){myfunction(e){}})


有点晚了,希望你能读一下并解决你的问题。

你能放一个演示吗?@Maugurera那么你就得像Jonathan说的那样发布一个JSFIDLE了。因为你的代码有问题。以上内容应该有效。我已经编辑了你答案的格式和措辞。我想你的最后一段代码缺少一个右括号。第一次回答问题。谢谢,括号已经添加。我在编辑的同时正在编辑。所以当我做完后,我看到了你的评论,我发现我的比你的更重要。我愿意接受你的格式
div.addEventListener('click' function(){});