jQuery 调整大小在 FireFox、Chrome 和 Safari 上不起作用

标签 jquery

$("#dvMyDIV").bind("resize", function(){
    alert("Resized");
});

$("#dvMyDIV").resize(function(){
    alert("Resized");
});

问题

  1. 为什么此功能在 FireFox、Chrome 和 Safari 上不起作用?
  2. 这是否可以被视为 jQuery 错误,因为其他浏览器无法处理调整大小?
  3. 唯一的解决方法是调用 SetTimeout 函数检查 clientHeight 和 clientWidth 吗?
  4. 有使用 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/

相关文章:

javascript - 在循环jquery中使用append、clone

jquery - 为每第三个元素添加 CSS 样式

javascript - 如何传递 javascript 对象而不是手动输入图像名称

javascript - 链接到关闭的 jquery ui 选项卡中的命名 anchor (drupal)

jquery - 单击 <a> 标签激活输入

javascript - jQuery-ui 可拖动和可调整大小的 div 无法从左侧正确调整大小

Javascript:object[method]() 不工作或如何为纯 Javascript 代码构建 jQuery 插件

jquery - 宽度为 1024px 的屏幕和宽度为 1024px 的平板电脑存在冲突

javascript - 无法验证连字符

javascript - 隐藏表单并在表单提交时显示 div