【问题标题】:$(window).resize() event doesn't work in Chrome when i maximize window or back in windowed mode当我最大化窗口或返回窗口模式时,$(window).resize() 事件在 Chrome 中不起作用
【发布时间】:2014-03-04 06:22:51
【问题描述】:

以下函数包含一个“resize”事件,当我通过用鼠标放下边框来调整窗口大小时,它可以正常工作,但是当我最大化浏览器或恢复窗口时,脚本不起作用。它在其他浏览器中运行良好。

可能是什么原因?

(function ( $ ) {
    jQuery.fn.font_resizer = function () {
        var self = jQuery(this);
        var fontSize = self.css('fontSize').slice(0, -2);
        var lineH = self.css('lineHeight').slice(0, -2);
        jQuery(self).resize_font(self, fontSize, lineH);

        jQuery(window).on('resize', function() {
           jQuery(self).resize_font(self, fontSize, lineH);
        });
    };
    } (jQuery));

【问题讨论】:

  • resize_font 方法声明在哪里?
  • 它位于此声明的正下方。这两种方法都在主范围内声明(也在“$.ready”之外)。

标签: javascript jquery google-chrome


【解决方案1】:

这适用于我的 Chrome 版本 42.0.2311.90 m。

jQuery(window).on('resize', function() {...} 适用于窗口最大化以及调整窗口边框的大小。它不适用于窗口最小化/恢复,因为大小不会改变,所以这不会影响您。

JSFiddle:https://jsfiddle.net/seadonk/jafdoex8/

我没有看到你的 font_resize 事件的声明,所以我自己做了一个,只是根据窗口宽度和高度设置字体大小和行高。

(function ($) {
    jQuery.fn.font_resizer = function () {
        var self = $(this);
        var fontSize = self.css('fontSize').slice(0, -2);
        var lineH = self.css('lineHeight').slice(0, -2);
        jQuery(self).resize_font(fontSize, lineH);
        jQuery(window).on('resize', function () {
            jQuery(self).resize_font(fontSize, lineH);
        });
    };

    //on window resize set the font and line height
    jQuery.fn.resize_font = function (fontSize, lineH) {        
        var self = $(this);
        self.css('fontSize',$(window).width()/1920*36+'pt');
        self.css('line-Height',$(window).height()/1080*36+'px');
        $('#fontSize').text(self.css('fontSize').slice(0, -2));
        $('#lineHeight').text(self.css('lineHeight').slice(0, -2));
        $('#fontTimeStamp').text(getTime());
    };
}(jQuery));

(function () {
    $("body").font_resizer();
});

【讨论】:

  • 为我工作...但是为什么 JQuery(window) 与 $(window) 不同?
  • JQuery 或 $ 应该没问题,除非您有另一个定义 $ 的库
  • Chrome 修复了这个错误吗?
猜你喜欢
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多