我们知道,window有onload事件,只触发一次,就是全部dom加载完成后触发.
现在有这么一个需求
1.dom是js动态生成的;
2.dom生成后触发自定义的逻辑;
因为dom是js生成的,所以自定义的逻辑就不能写在onload事件中.那么只要写在dom的onload事件是不是就可以了?
很遗憾,普通的dom并没有onload事件,那要怎么办?
笨一点的方法就是写在定时器里,过个一秒两秒触发,但是这样写太傻了.
查阅了下资料,发现可以触发onload的有
<body>, <frame>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>
我们可以用个取巧的办法,在js生成的dom里内嵌一个img,通过img的onload触发自定义的逻辑.
function render(){
var html = "<div>";
html += '<img src onerror="initSelect()">';
html += '</div>';
$('body').apend(html);
}
当执行render()方法的时候,body追加了1个div,并且触发了img的onload事件.
Brilliant!!
网友评论