$("#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是否被调整大小(即存储宽度的旧值) / height并检查它们的大小)?
最后,您可以考虑在width / height属性上使用watch,尽管我不知道这是否完全与浏览器兼容(认为这可能仅仅是Mozilla).我确实发现this jQuery plugin看起来像它可能做同样的事情(有一些轻微的修改).