窗口之间究竟有什么区别。Onload事件和body标签的Onload事件?我什么时候使用哪个,应该如何正确地做?


当前回答

把onload看作任何其他属性。例如,在输入框中,你可以输入:

<input id="test1" value="something"/>

或者你可以拨打:

document.getElementById('test1').value = "somethingelse";

onload属性的工作方式与此相同,只不过它接受一个函数作为值,而不是像value属性那样接受一个字符串。这也解释了为什么你只能使用其中的一个——调用窗口。Onload为body标签重新分配Onload属性的值。

另外,就像其他人说的那样,通常将样式和javascript与页面内容分开会更干净,这就是为什么大多数人建议使用window。onload或类似jQuery的ready函数。

其他回答

把onload看作任何其他属性。例如,在输入框中,你可以输入:

<input id="test1" value="something"/>

或者你可以拨打:

document.getElementById('test1').value = "somethingelse";

onload属性的工作方式与此相同,只不过它接受一个函数作为值,而不是像value属性那样接受一个字符串。这也解释了为什么你只能使用其中的一个——调用窗口。Onload为body标签重新分配Onload属性的值。

另外,就像其他人说的那样,通常将样式和javascript与页面内容分开会更干净,这就是为什么大多数人建议使用window。onload或类似jQuery的ready函数。

它们的工作原理相同。但是,请注意,如果定义了两者,则只调用其中一个。我通常避免直接使用它们中的任何一个。相反,您可以将事件处理程序附加到加载事件。通过这种方式,你可以更容易地合并其他可能也需要附加回调到onload事件的JS包。

任何JS框架都有用于事件处理程序的跨浏览器方法。

将内容、布局和行为分开是一个公认的标准。因此window.onload()将比<body onload="">更适合使用,尽管两者都做同样的工作。

窗口。Onload可以在没有身体的情况下工作。只使用脚本标记创建页面,并在浏览器中打开它。该页面不包含任何主体,但它仍然可以工作。

<script>
  function testSp()
  {
    alert("hit");
  }
  window.onload=testSp;
</script>

没有区别…

所以基本上你可以两者都用(一次一个!-)

但是为了可读性和html代码的整洁,我总是更喜欢窗口。onload !啊)