通过javascript来操作页面的元素,但这需要浏览器读取到这段JS代码时页面元素已经存在了,对于将JS代码放在head区而操作body里面的元素时则不行。
这种情况,可以用onload事件来解决这个问题。
onlaod事件告诉浏览器等页面加载完成了再执行。
语法:
这样等页面全部加载完了才会调用fn这个函数。
页面复杂时onload可能不只一个函数,这时可以将这多个函数放在一个主体函数里。
页面更复杂时,在<head>里调用了两个JS文件(其中一个可能是外部的,不被控制),这两个JS文件都用到了onload,发现第一个onload会被第二个onload覆盖,不会执行。
而且由于分布在两个页面,所以不能将他整合到一个函数中,需要用到addEventListener-“添加事件监听”方法了。
语法:
window.addEventListener('load',fn1,false);
window.addEventListener('load',fn2,false);
这两段代码分别放在一个JS文件里。
这个函数IE不兼容,对应IE的函数是attachEvent。
对应IE的语法:
window.attachEvent('onload',fn1);
window.attachEvent('onload',fn2);
这两段代码分别放在一个JS文件里。
可以写一个函数,来兼容不同的浏览器。
代码:
然后,可以通过调用该函数来实现需要的功能:
addLoadListener(fn1);
addLoadListener(fn2);
说明,这两段代码分别放在一个JS文件中。