在 AJAX 的 onreadystatechange 中怎样自定义一个事件?
我需要在使用AJAX读取了一个文件之后,用JS改变容器的高度。
比如文件读入 <div id="Target"></div>,由于读入的文件大小不一,可能改变容器 Target 的高度。
我所有的网页元素都使用了绝对坐标,高度改变后,需要用JS得到容器新的高度,由此改变其他div的位置。
我把AJAX处理的代码都封装在一个类里面,由this.定义公共的属性和方法。
本来在 onreadystatechange 调用的函数中定义了一个外部能够访问的属性——this.TargetDIVHeight,但文件读入之后,目标容器的新高度并没有得到。
经过多次测试,发现只在 onreadystatechange 调用的函数中才能得到新高度(条件是CSS并没有设定这个容器的height),新高度虽然代入了this.TargetDIVHeight,但是外部不能得到。
于是想到,我的AJAX封装在一个类里面,能否在onreadystatechange 调用的函数中 readyState==4 && status == 200 之后定义一个事件。
在外部捕捉这个事件,事件发生后,外部就应该能正确得到容器的新高度。
网上找到这样的代码:
class1.prototype =
{
show:function()
{
//show函数的实现
this.onShow(); //触发onShow事件
},
onShow:function(){} //定义事件接口
}
但我看不懂该怎样实现我的需求。
那位高手帮帮忙,我该怎样自定义一个事件?在外部怎么使用?
谢谢!