我有这个超级简单的onclick事件:
单击按钮以触发一个函数,该函数将在id为“demo”的p元素中输出“Hello World”。
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
在这里工作正常:http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onclick
在我的机器上试用时工作正常。
但它不适用于JSFiddle:
有谁知道为什么?
答案 0 :(得分:1)
这是一个范围问题。以这种方式将此函数分配给全局变量:
myFunction = function() {
document.getElementById("demo").innerHTML = "Hello World";
}
演示:
答案 1 :(得分:0)
因为在小提琴中你定义了onload
函数中的函数而不是head
。因此myFunction
范围不是全局的,在onclick
处理程序中使用时不可访问/定义。
只需将左上方的选择框更改为无包装... ,而不是 onLoad 。
检查fiddle已更新。