这可能很容易,但我对JavaScript很新,这让我疯狂。
我的问题,为什么这不起作用: http://jsfiddle.net/Ye9tG/
<input type="button" id="butt" value="Button" onclick="getThought();"/>
如果我将onclick直接添加到JavaScript中,它可以正常工作:
document.getElementById("butt").onclick = getThought;
提前致谢。
答案 0 :(得分:3)
您的getThoughts
函数未定义,因为您的JavaScript设置为执行onLoad
。请参阅jsFiddle左上角的下拉菜单。选择“无包装 - <head>
”以解决问题:http://jsfiddle.net/Ye9tG/1/
另外,请务必查看浏览器的控制台以检查错误。在这种情况下,单击按钮时会看到Uncaught ReferenceError: getThought is not defined
错误。
答案 1 :(得分:2)
在jsfiddle的左上角,你会看到你的小提琴被设置为运行你的js代码“onLoad”。这真正意味着jsfiddle为你创造了这个:
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
// YOUR CODE HERE
}//]]>
</script>
因此,您的功能只能在onload
功能中访问。将值更改为“无包头”,您将看到它有效。
您的另一个选择是使您的功能明确全局:
window.getThought = function(){
// ...