如何知道DOM元素何时移动或resize

我想知道是否有一个要侦听的DOM事件告诉我DOM元素移动时是重新定位还是在页面上resize。 我不是在谈论被拖放的元素。 一个例子是如果一个页面上有三个项目的列表,我使用JS从页面中删除前两个列表项之一(或隐藏它或其他),我想附加一个处理程序来运行时第三个列表项在页面中向上移动。

我正在使用jQuery,所以可以接受简单的javascript或jQuery答案。

也许在元素级别没有移动/位置/resize事件,所以如果有一个页面/ doc级别事件会告诉我该页面被重新绘制,我可以检查是否需要再次调用一个函数?

背景

我在一个元素上放置了一个透明div,同时调用webservice来删除该元素。 由于我需要绝对定位覆盖div,我希望它能够跟踪它最初覆盖的元素。 实际上将其锚定到基本元素。

一般情况下,您无法获得元素移动/resize的回调; 你必须不断检查间隔轮询器中的尺寸,这会使响应性降低一些。 您也可以通过调用窗口resize事件来检查这一点(如果涉及溢出或固定定位则scroll 。您还可以添加DOM Mutation事件侦听器,以便在从文档树中删除元素时获取通知,但这不是适用于所有浏览器。

你不能用普通的CSS做覆盖吗? 例如。 把position: relative对于要隐藏的元素,然后在其中添加叠加,使用以下内容?

 position: absolute; z-index: 10; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.5; 

我不认为这个解决方案经过这么长时间才有意义,但是基于此处提供的溢出和下溢事件,有一个出色的跨浏览器解决方案

为了启用我们resize的侦听魔法,我们将一个对象元素注入到目标元素中,设置一个特殊样式列表以将其从视图中隐藏,并监视它以进行resize – 它作为触发器,在目标元素父级resize时向我们发出警报。

元素的内容具有本机resize事件,就像一个窗口。

有一个(Ben Alman)插件。 TM值

这是一个很好的插件,虽然我建议谨慎使用它(即,不要使用太多元素),以便保持轮询量。