$("#dvMyDIV").bind("resize", function(){
alert("Resized");
});
或
$("#dvMyDIV").resize(function(){
alert("Resized");
});
问题
- 为什么此功能在 FireFox、Chrome 和 Safari 上不起作用?
- 这是否可以被视为 jQuery 错误,因为其他浏览器无法处理调整大小?
- 唯一的解决方法是调用 SetTimeout 函数检查 clientHeight 和 clientWidth 吗?
- 有使用 jQuery 的解决方法吗?
最佳答案
我相信 JavaScript 调整大小事件仅适用于框架或窗口,不适用于 DIV。
例如请参阅this page :
The onResize even handler is use to execute specified code whenever a user or script resizes a window or frame. This allows you to query the size and position of window elements, dynamically reset SRC properties etc.
因此,如果您想检测窗口何时调整大小,在 jQuery 中您可能应该使用 $(window).resize(function() { });
编辑:如果你想查看DIV的大小,这取决于你的意图。如果您使用 JavaScript 调整大小,那么您可以实现一个方法来执行调整大小,并让该句柄调用任何其他调整大小代码。
否则,如果您只是在有人调整窗口大小时观察 DIV 的大小调整,那么将调整大小监听器附加到窗口然后检查 DIV 是否已调整大小(即存储旧的大小)不是可行的吗?宽度/高度的值并在调整大小时检查它们)?
最后,您可以考虑使用watch关于宽度/高度属性,尽管我不知道这是否完全兼容浏览器(认为这可能仅限于 Mozilla)。我确实找到了this jQuery plugin看起来它可能会做同样的事情(稍作修改)。
关于jQuery 调整大小在 FireFox、Chrome 和 Safari 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/229010/