为什么这个简单的 JSFiddle 不起作用?

IT技术 javascript html jsfiddle
2021-02-02 04:19:34

我想将一些代码放入 JSFiddle。它没有用。缩小范围我什至无法让这个最简单的代码工作:

JSFiddle

function displaymessage() {
  alert("Hello World!");
}
<form>
  <input type="button" value="Click me!" onclick="displaymessage()" />
</form>

<p>By pressing the button above, a function will be called. The function will alert a message.</p>

alert框未显示在 JSFiddle 中。

6个回答

No wrap - bottom of <head>在 JavaScript 设置的“加载类型”下拉列表中选择

上面提到的下拉菜单的屏幕截图

@BlakeWebb 重新运行“项目”以使更改生效。
2021-03-12 04:19:34
看来这个选项现在已经消失了。
2021-03-16 04:19:34
好的,现在它起作用了。但究竟是什么意思no wrap (head)它在做什么或不做什么?
2021-03-21 04:19:34
谢谢!我确定我遗漏了什么。愚蠢的我!
2021-03-22 04:19:34
截至 2018 年 1 月
2021-04-10 04:19:34

您需要将您的功能从 onLoad/onReady 中取出,否则它会被放置在另一个范围内并且您的按钮无法访问该功能。在您的情况下,您需要使用 No wrap (head)

生成的代码如下所示:

Ext.onReady(function() {
    function displaymessage()
    {
        alert("Hello World!");
    }
});

更改代码以运行“no wrap (head)”而不是“onDomReady”。您的函数对您的标记不可见。

如果您使用 html onclick="func()",也许有些人需要将您的功能移到document.ready之外

$(document).ready(function() {
  ...
}

function func(){
  ...
}

如果您仍然有问题,请检查您是否有

  1. 作为浏览器扩展安装的 AdBlockers?(即 AdBlocker Plus)

在此处输入图片说明

  1. 关闭 JSFiddle 中的 AdBlockers 并再次运行。

我希望这可以帮助别人。

谢谢。