Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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 为什么不';t函数名为的内联事件在div上工作?_Javascript_Html_Events_Inline_Inline Code - Fatal编程技术网

Javascript 为什么不';t函数名为的内联事件在div上工作?

Javascript 为什么不';t函数名为的内联事件在div上工作?,javascript,html,events,inline,inline-code,Javascript,Html,Events,Inline,Inline Code,我觉得这是个很难回答的问题,但我一辈子都想不出来 点击我 点击我2 函数dingo() { 警报(“hi”); } 第一次单击我不会发出警报,但第二次会发出警报。我不明白为什么…您问题中的代码工作正常: 点击我 点击我2 函数dingo() { 警报(“hi”); } 您问题中的代码工作正常: 点击我 点击我2 函数dingo() { 警报(“hi”); } 在将脚本放入head标记后工作@SvenB-因为如果选择ondomready,则将匿名函数分配给domready而不是onload

我觉得这是个很难回答的问题,但我一辈子都想不出来

点击我
点击我2
函数dingo()
{
警报(“hi”);
}

第一次单击我不会发出警报,但第二次会发出警报。我不明白为什么…

您问题中的代码工作正常:

点击我
点击我2
函数dingo()
{
警报(“hi”);
}

您问题中的代码工作正常:

点击我
点击我2
函数dingo()
{
警报(“hi”);
}

在将脚本放入head标记后工作@SvenB-因为如果选择ondomready,则将匿名函数分配给domready而不是onload…但是
dingo仍然是在另一个函数中定义的,因此它仍然不是全局的,因此仍然超出范围。那么为什么不这样做呢作品:
mango
在head中定义,并在运行时添加.onclick=“mango()”;我知道我可以做
.onclick=mango
,但为什么我不能将它作为字符串给出?@imthenanchoman-因为属性的值必须是函数,而不是字符串。@Quentin:Oh。对我来说,这会让事情变得更糟。理解。谢谢这是正确的答案,我的答案似乎不正确,删除我的答案。@SvenB-因为如果选择ondomready,则将匿名函数分配给domready,而不是onload…但是
dingo仍然是在另一个函数中定义的,因此它仍然不是全局的,因此仍然超出范围。那么为什么这不起作用:
mango
在head中定义,并在运行时添加.onclick=“mango()”;我知道我可以做
.onclick=mango
,但为什么我不能将它作为字符串给出?@imthenanchoman-因为属性的值必须是函数,而不是字符串。@Quentin:Oh。对我来说,这会让事情变得更糟。理解。谢谢这是正确的答案,我的答案似乎不对,删除我的答案。
<div onclick="dingo()">click me</div>
<div onclick="alert(this)">click me 2</div>

<script type="text/javascript">
function dingo()
{
    alert("hi");
}
</script>