jQuery调整大小不能在FireFox,Chrome和Safari上工作

$("#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看起来像它可能做同样的事情(有一些轻微的修改).

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...