如何向元素添加onload事件?

我可以使用:

<div onload="oQuickReply.swap();" ></div>

对于这个吗?


当前回答

这里有一个对我有用的技巧, 你只需要把你的div放在一个body元素中

身体< > <!——这里有些代码——> <body onload="alert('Hello World')"> < div > < / div > < /身体> <!——其他代码行——> < /身体>

其他回答

onload事件只能用于文档(主体)本身、帧、图像和脚本。换句话说,它只能附加到主体和/或每个外部资源。div不是外部资源,它是作为主体的一部分加载的,所以onload事件在那里不适用。

不,你不能。使其工作的最简单的方法是将函数调用直接放在元素之后

例子:

...
<div id="somid">Some content</div>
<script type="text/javascript">
   oQuickReply.swap('somid');
</script>
...

或者-甚至更好-就在</body>前面:

...
<script type="text/javascript">
   oQuickReply.swap('somid');
</script>
</body>

...因此它不会阻止以下内容的加载。

如前所述,你不能在DIV上使用onLoad事件,而是在body标签之前使用它。

但如果你有一个页脚文件,并将其包含在许多页面中。最好先检查你想要的div是否在显示的页面上,这样代码就不会在不包含该div的页面上执行,从而加快加载速度并为应用程序节省一些时间。

所以你需要给那个DIV一个ID,然后做:

var myElem = document.getElementById('myElementId');
if (myElem !== null){ put your code here}

Onload事件,它只支持下面列出的几个标签。

<body>, <frame>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>

这里是onload事件的引用

您可以如下所示附加一个事件侦听器。当选择器#my-id的div完全加载到DOM时,它就会触发。

$(document).on('EventName', '#my-id', function() {
 // do something
});

在本例中,EventName可以是'load'或'click'

https://api.jquery.com/on/#on-events-selector-data-handler