当我最大化窗口或返回窗口模式时,$(window).resize()事件在Chrome中不起作用

Ana*_*sta 9 javascript jquery google-chrome

以下函数,包含"调整大小"事件,通过使用鼠标删除边框来调整窗口大小时工作正常,但是当我最大化浏览器或我恢复窗口时脚本不起作用.它在其他浏览器中工作正常.

可能是什么原因?

(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));
Run Code Online (Sandbox Code Playgroud)

Bri*_*ino 2

这适用于我的 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();
});
Run Code Online (Sandbox Code Playgroud)