You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
970 B
970 B
如何监听元素大小变化
广义上讲,FineUI中有两种监听大小变化的方法
BI.Resizers.add
和BI.ResizeDetector.addResizeListener
严格意义上讲BI.Resizers.add
并不算是监听元素大小变化,其底层实现是监听window的resize事件,只有窗口大小改变时候会触发,多用于combo,layer等自动调整位置的组件.
BI.ResizeDetector.addResizeListener
则是真实的监听组件元素大小改变,常用于计算动态宽高等场景
注意事项:有添加监听必有取消监听,要注意再组建销毁时移除掉事件监听,有两种形式,一种是在添加监听的方法会返回一个移除当前监听的函数,调用即可.另一种是调用BI.Resizers.remove
和BI.ResizeDetector.removeResizeListener
方法
额外话: BI.ResizeDetector
现阶段采用的实现方案是对元素附加一个额外的div,通过监听scroll事件变相实现的. 为了拥抱未来,后续会改成ResizeObserver
实现