简单的onload在JSFIddle中不起作用

时间:2015-08-11 15:55:48

标签: javascript html

http://jsfiddle.net/jzhang172/n5jb0159/

简单的document.body.onload事件应触发javascript警报,但不起作用但在我的文本编辑器中工作正常 - >浏览器。我将库转换为jQuery到None(纯JS),但仍然没有,有人可以向我解释发生了什么以及它为什么不能在小提琴中工作但在我的文本编辑器中工作正常?

这有效:

  <body>
    Why
    <script>
  document.body.onload = function(){
      alert("LOADED!");
  }
  </script>
  </body>

4 个答案:

答案 0 :(得分:4)

你的第一个问题:

Onload

load事件触发时,您已配置JSFiddle运行JS。

因此,当load事件触发时,您绑定另一个load事件处理程序。

永远不会调用您的新load事件处理程序,因为load事件已被触发。

将菜单选项更改为&#34; No Wrap&#34;方法

你的第二个问题:

load对象触发window事件,而不是body元素。

您需要将该属性分配到正确的位置。

onload = function(){
  alert("LOADED!");
}

这样:https://jsfiddle.net/n5jb0159/5/

答案 1 :(得分:3)

您的代码很好,只需更改您的JSFiddle选项:

onLoad

到此:

No wrap - in <body>

Here is your updated JSFiddle

答案 2 :(得分:0)

我能够让它工作http://jsfiddle.net/n5jb0159/8/

将脚本放入正文中。

<body>
    <script>document.body.onload = function(){alert("sdffds")}</script>
</body>

答案 3 :(得分:0)

还有一条通知反对JSFIddle中 onload event 行为jQuery中的行为。

在HTML DOM中测试代码addEventListener()方法如下:

window.addEventListener('load', initialProcess, false);

加载类型:onLoad https://jsfiddle.net/chetabahana/a9dxv3fb/5/

  

当加载类型设置为onLoad时,事件不会触发执行

onLoad option of jQuery 3.3.1 in JsFiddle

加载类型:onDomready https://jsfiddle.net/chetabahana/a9dxv3fb/6/

  

当设置为onDomready时,事件会触发并正常工作

enter image description here