onLoad,onDomready,No wrap in in <head>和No wrap in in <body>之间有什么区别?

Dra*_*zah 11 javascript jsfiddle

我使用JSFiddle来编辑我的代码.但是,在某些代码中,当我运行JavaScript或jQuery时,除非我选择"No wrap - <head>"或"No wrap - <body>",否则它不起作用.

JSFIDDLE在这里

在上面的小提琴中,你会注意到除非你选择了"No wrap - "或"No wrap - " 这个扩展名,否则你<button>不会点击该元素.alert()<head><body>

我是一个好奇的人,喜欢理解事情的运作方式.该选项究竟发生了什么变化,为什么要改变它?

Spe*_*rek 8

onLoad:

  • 这意味着包装代码,使其在onLoad窗口事件中运行.这在整个页面已加载(例如图像)时运行.

onDomReady:

  • 这意味着包装代码以便它将在onDomReady窗口事件中运行.这在DOM加载时运行.

没有包装<head>:

  • 这会将您的JavaScript代码放在该<head>部分中

没有包装<body>:

  • 这会将您的JavaScript代码放在该<body>部分中

我想指出,更多信息可以在jsFiddle的文档中找到.


小智 7

onLoad和onDomready包装代码,以便在文档加载或DOM就绪事件触发时运行JavaScript.这就像你写下你的代码一样:

Stackoverflow参考

 <script type="text/javascript"> 
    //<![CDATA[ 
      window.onload=function(){ /* your js here */ } 
   //]]> 
</script> 
Run Code Online (Sandbox Code Playgroud)

如果您将脚本标记添加到文档的头部或正文标记(如您可能习惯的话),则无包装选项.

 <html> 
 <head> 
       <title>Stuff</title> 
 <script> 
   /* your code */ 
 </script> 
 </head> 
Run Code Online (Sandbox Code Playgroud)