代码改变世界

Cocos Creator 监听 Canvas 大小变化

2020-04-16 11:47  罗任德  阅读(2527)  评论(0编辑  收藏  举报

JS:

window.onresize(function(){//code}):

jQuery:

$(window).resize(function(){//code});


在监控的过程中发现每次改变浏览器窗口的时候 onresize 事件都会触发两次(产生 的原因貌似比较复杂,网上没有定论,发现在最大化浏览器的时候,浏览器也会闪一下,有两次窗口大小的改变)。

解决方法: setTimeout()

function windowResizeEvent(callback) {
    var firstFire = null;

    window.onresize = function () {
        if(firstFire === null) {
            firstFire = setTimeout(function() {
                firstFire = null;
                callback();
            }, 100);
        }
    }
}