无法收听文件调整大小事件

时间:2012-03-07 02:27:51

标签: javascript resize document

每当文档(正文) size 发生变化时,我都想听这个事件 这可能是由任何内部造成的 (但你假设不知道导致调整大小的元素)

如下代码: http://jsfiddle.net/marstone/7zaRT/8/

您可以单击绿色区域来更改div大小,然后调整document.body的大小。 但是,onresize事件不会被触发。

我发现它仅在窗口调整大小时有效,例如拖动/最大化浏览器窗口

任何解决方法?任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

正如您所说,调整大小事件仅适用于Windows对象。您可以使用jquery-resize plugin在DOM元素上添加resize事件,但建议他们实现轮询机制以跟踪元素的大小。因此,您必须始终将事件绑定到要监视的元素(委托不起作用,因为在DOM上没有冒充实际事件)。

到目前为止,我已经使用过该插件几次,没有任何故障。我不知道其他插件是否实现了这个相同的机制,但我确信它们都依赖于轮询机制。

答案 1 :(得分:0)

这应该可以解决问题:

$(document).bind('DOMSubtreeModified', function(e) {
alert("Bazinga!");
console.log(e);
​});​

但请注意,它往往会过度激发,但我会留给您,以确定它如何适合您的应用。

http://jsfiddle.net/pratik136/7zaRT/12/