如何向元素添加onload事件?
我可以使用:
<div onload="oQuickReply.swap();" ></div>
对于这个吗?
如何向元素添加onload事件?
我可以使用:
<div onload="oQuickReply.swap();" ></div>
对于这个吗?
当前回答
如前所述,你不能在DIV上使用onLoad事件,而是在body标签之前使用它。
但如果你有一个页脚文件,并将其包含在许多页面中。最好先检查你想要的div是否在显示的页面上,这样代码就不会在不包含该div的页面上执行,从而加快加载速度并为应用程序节省一些时间。
所以你需要给那个DIV一个ID,然后做:
var myElem = document.getElementById('myElementId');
if (myElem !== null){ put your code here}
其他回答
不,你不能。使其工作的最简单的方法是将函数调用直接放在元素之后
例子:
...
<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}
你可以使用onerror在IMG元素上自动触发一些js,而不使用src。
<img src onerror='alert()'>
你可以使用一个interval来检查它,直到它像这样加载: https://codepen.io/pager/pen/MBgGGM
let checkonloadDoSomething = setInterval(() => {
let onloadDoSomething = document.getElementById("onloadDoSomething");
if (onloadDoSomething) {
onloadDoSomething.innerHTML="Loaded"
clearInterval(checkonloadDoSomething);
} else {`enter code here`
console.log("Waiting for onloadDoSomething to load");
}
}, 100);
试试这个!永远不要在div上使用触发器两次!
您可以在div标记之前定义要调用的函数。
$(function(){
$('div[onload]').trigger('onload');
});
演示:杰斯菲德尔