jsFiddle onload和no-wrap in body

Mah*_*lam 1 javascript jsfiddle

我试图让自己开始使用jsFiddle.所以我尝试运行一个简单的代码片段,其中包含所有HTML,CSS和JavaScript代码.

在此输入图像描述

Javascript不起作用如果我在Frameworks&Extensions下拉列表中选择onLoad

但是当我从下拉菜单中选择No Wrap-in时它确实有效

在此输入图像描述

你能告诉我这是什么意思吗?我已经阅读过关于未在jsfiddle.net运行的 SO JavaScript的这个问题

但无法理解那里提到的解决方案.

cjo*_*jol 5

当您选择onLoad时,您的JavaScript将包含onload函数.这意味着您的代码将在页面加载完成后运行,但在全局范围内不再可用.看起来像这样

window.onload=function(){
   function myFunction() {
       alert("Hello");
   }
}
Run Code Online (Sandbox Code Playgroud)

解决方法可能是将变量分配给window对象,以便可以在页面的任何位置访问它们.

例如:

function myFunction() {
    alert("Hello");
}
window.myFunction = myFunction;
Run Code Online (Sandbox Code Playgroud)

<button onclick="window.myFunction()" >Hi</button>
Run Code Online (Sandbox Code Playgroud)