HTML和JavaScript标记中的“onload”?

时间:2016-08-10 16:38:53

标签: javascript html

我想知道“onload”是< body>的属性吗? HTML标签。我在阅读一本书(学习Java脚本)时看到了这段代码。

<html>
    <body onload="alert('hi')";>
      ...
    </body>
</html>

我知道&lt; body&gt; tag是HTML规范的一部分。对于HTML元素,我们可以拥有属性。这样,是否意味着onload是&lt; body&gt;的属性?或者它是JavaScript的一部分?这次合并怎么可能?

如果是这样,它是否也意味着HTML最初开发时,创作者是否认为可能会有某些事件驱动的东西被应用(通过其他语言?)。

任何人都可以帮助我理解这个吗?直到这一点,我所提到的这本书没有说明我的疑问,因此提出了这个问题。

2 个答案:

答案 0 :(得分:2)

将事件处理程序附加到任何HTML元素的方法之一是为其提供名为onEVENTNAME的属性。这样的属性的值是在元素上触发事件时将执行的Javascript字符串。你几乎肯定会看到像

这样的东西
<button onclick="doSomething()">

这是同样的事情。

Global Attributes的HTML规范说onload(在许多其他onXXX属性中)可以在任何HTML元素中使用。还有一些特定于<body> elementonXX属性。

在这方面,唯一关于<body>元素的特殊之处在于,某些事件处理程序被分配给window对象。所以你的例子大致相当于:

window.onload = function() {
    alert('hi');
};

答案 1 :(得分:0)

加载对象时会触发onload属性。 onload元素经常在<body>元素中用于在网页完全加载所有内容(包括图像,脚本文件,CSS文件等)后执行脚本。

语法是,

<element onload="script"> 

这下面几个支持的html标签,如

<body>, <frame>, <img>, <link>, <script> and <style>

示例:

<img src="image.gif" onload="alert('image loaded')">

因此上面的代码onload on a element,Alert&#34; Image loaded&#34;加载图像后立即显示。