Simple onload doesn't work in JSFIddle

匿名 (未验证) 提交于 2019-12-03 02:27:02

问题:

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

Simple document.body.onload event should trigger a javascript alert, but doesn't work but it works fine in my text editor -> browser. I switched the libraries around to jQuery to None (pure JS), still nothing, can someone explain to me what's going on and why it doesn't work in fiddle but works fine in my text editor?

This works:

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

回答1:

Your first problem:

You have configured JSFiddle to run your JS when the load event fires.

Consequently, when the load event fires, you bind another load event handler.

Your new load event handler is never called because the load event has already fired.

Change the menu option to one of the "No Wrap" approaches.


Your second problem:

The load event fires on the window object, not the body element.

You need to assign the property to the right place.

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

Such: https://jsfiddle.net/n5jb0159/5/



回答2:

You code is good, just change your JSFiddle option from this:

onLoad 

to this:

No wrap - in <body> 

Here is your updated JSFiddle



回答3:

I was able to get it working http://jsfiddle.net/n5jb0159/8/

Just put the script inside the body.

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!