我一直在寻找解决方案,但没有找到(只有关于 (window:resize) 的文章,但它不是我要找的) .
(window:resize)
如何在 Angular 2 中检测元素大小的变化?
Angular 2
<div #myElement (sizeChanged)="callback()" />
我想使用一些 CSS 动画并检测元素的 height 和 width 更改 .
CSS
height
width
问题甚至不是Angular 2问题 . 更一般地说,如何检测 window 以外的任何元素的大小变化?有一个 onresize 事件,但这仅针对 window 触发,并且没有其他明显的解决方案 .
window
onresize
许多人采用这种方法的一般方法是设置一个间隔,例如100ms,并检查div的宽度和高度以检测变化 . 虽然听起来很可怕,但这是最常见的方法 .
从this answer到更一般的问题,有一个库只使用事件来执行此操作:http://marcj.github.io/css-element-queries/ . 据说,它非常好 . 你可以使用 ResizeSensor 来获得你想要的东西 .
ResizeSensor
除非当然,你只是期望 div 在窗口时调整大小 . 然后 onresize 就是你要找的 .
div
1 回答
问题甚至不是Angular 2问题 . 更一般地说,如何检测
window
以外的任何元素的大小变化?有一个onresize
事件,但这仅针对window
触发,并且没有其他明显的解决方案 .许多人采用这种方法的一般方法是设置一个间隔,例如100ms,并检查div的宽度和高度以检测变化 . 虽然听起来很可怕,但这是最常见的方法 .
从this answer到更一般的问题,有一个库只使用事件来执行此操作:http://marcj.github.io/css-element-queries/ . 据说,它非常好 . 你可以使用
ResizeSensor
来获得你想要的东西 .除非当然,你只是期望
div
在窗口时调整大小 . 然后onresize
就是你要找的 .