当元素需要在扩展中重新呈现时触发函数
Trigger a function when elements need re-rendered in an extension?
我有一个函数,可以在我的 Firefox 扩展中定位一个元素,每当事件导致窗口/铬布局更改时,我都需要调用该函数。
事件将是:
- 创建新窗口时,在呈现镶边之后。
- 重新调整窗口大小时。
- 任何其他可能导致镶边布局更改大小或形状的事件?
(*) 现在,该函数在创建新窗口时使用以下命令运行时运行:
window.addEventListener("load",myfunction);
但这会在渲染镶边之前运行,并且元素大小的值不稳定。我需要它在 Firefox 确定 chrome 元素的实际大小和位置后运行。
我需要绑定哪些事件,以及如何绑定它们?
- 我也有类似的情况,并没有真正找到一个好的解决方案。但是,非标准
MozAfterPaint
事件可能会有所帮助,但会带来相当大的性能损失(因此,请确保在不再需要它时将其删除)。 resize
事件应该可以解决问题。- 有很多事情可能会导致事情发生变化。新的CSS/图像加载,工具栏自定义等 1.和 2.但是,应该涵盖大部分(全部?
devtools layoutview
("盒子模型")似乎也使用MozAfterPaint
。
如果可能的话,你应该尽量避免自己计算大小,但是,通过使用XUL/HTML flexbox模型和没有固定大小(或仅最小/最大大小)的CSS。
相关文章:
- Javascript 未按预期呈现函数
- 呈现函数的ReactJS语法错误
- Javascript - 如何创建新的函数实例
- React如何调用ES6类的呈现函数,使“this”不引用类本身
- React-从呈现函数中的var调用处理程序
- 在呈现函数中返回变量
- 从数据表中的角度$http.get返回一个值.js列的呈现函数
- 如何在 Crockford 的新构造函数模式中共享“构造函数”功能
- 如何使用新构造函数为 json 中的每个节点创建实例
- 创建新视图时调用呈现函数
- react native:在状态更改后不调用呈现函数
- React Native呈现函数给出错误:意外的令牌
- 如何将JSX部分与呈现函数分离
- Javascript-等待具有新异步函数的异步函数
- 对象getter/setter与新构造函数的比较-测试结果
- 将JSON对象呈现为HTML,呈现函数don't渲染深层对象
- 为什么在调用设置新$的函数时,我的延迟对象被设置为resolved而不是pending ?多次延期
- 使用对象字面值创建新对象(函数)
- 承诺加入添加新的函数调用链
- 如何在Onclick内部设置新的函数参数