2、如何追加事件处理
为了节约修改页面的时间,我在index页面使用Server.Execute方法调用其他页面。也就是说,我无法在子页面中操作BODY的onload事件,那么,要怎么样才能将子页面的JavaScript函数添加到BODY的onload事件中呢?
在MSDN中有一个attachEvent方法,它的原型是:bSuccess = object.attachEvent(sEvent, fpNotify)
从理论上分析,有了上面的代码,我就可以在子页面将resizePicturesOfThisPost加到BODY的onload事件中了。可是,意想不到的事情又发生了,这段代码没有任何作用,没有任何错误,attachEvent的返回值也是true。
3、也许是IE的BUG
从attachEvent的返回值是true可以断定,attachEvent方法调用没有错误,我想也许换个事件就好用了。google了一下之后,还是在园子里找到了解决方案:birdshome的一段文字中提到了这个问题,他说在document.body对象上的确没有效果,但是在window对象的onload事件上是正确的。
经过测试,birdshome所言非虚,为了进一步验证他的猜想,我在FireFox测试了相同的代码,无论是document.body还是window都没有效果。也许是IE和FF共同的bug,也许……
4、结论
DOM和JavaScript对象在IMG处理方面没有区别,上次的问题是因为触发时机不同造成的。关于attachEvent在document.body的onload事件无效一事,哪位有深入的研究,还请不吝赐教。