我找不到这个JSFiddle有什么问题。
HTML:
<input type="button" value="test" onclick="test()">
JavaScript:
function test(){alert("test");}
当我点击按钮时,什么也没有发生。控制台显示“测试未定义”
我读过JSFiddle文档-那里说JS代码被添加到<head>
中,HTML代码被添加到<body>
中(所以这段JS代码比HTML更早,应该可以工作)。
发布于 2011-03-25 18:50:29
该函数在加载处理程序中定义,因此位于不同的作用域中。正如@ellisbben在注释中指出的那样,您可以通过在window
对象上显式定义它来修复此问题。更好的是,将其更改为以不引人注目的方式将处理程序应用于对象:http://jsfiddle.net/pUeue/
$('input[type=button]').click( function() {
alert("test");
});
注以这种方式应用处理程序,而不是内联,可以保持HTML的整洁。我使用的是jQuery,但如果您愿意,您可以使用或不使用框架,也可以使用不同的框架。
发布于 2011-04-29 17:36:44
如果不指定换行设置,则默认为"onLoad“。这会导致所有JavaScript都被包装在加载result后运行的函数中。所有变量都是该函数的局部变量,因此在全局范围内不可用。
将换行设置更改为“无换行”,它将起作用:
http://jsfiddle.net/zalun/Yazpj/1/
我将框架切换为"No Library“,因为您没有使用任何库。
发布于 2014-08-10 22:59:56
将框架和扩展面板中的包装设置更改为"No wrap-in <body>
“
https://stackoverflow.com/questions/5431351
复制相似问题