1

我希望的内容jQuery.fn.resize仅在我放开鼠标按钮后才执行,而不是在我调整窗口大小时执行。

我曾尝试在调整大小时将 onmousedown 放在里面,但它没有用。

$(window).resize(function(){           
    console.log("resizing")
});
4

1 回答 1

1

您无法知道文档之外发生了什么,并且在调整大小结束时您不会收到通知(调整大小可以通过多种方式发生,并非所有方式都基于鼠标)。

但是您可以添加一个计时器以获得相同的效果:

(function(){
   var timer;
   $(window).resize(function(){
        if (timer) clearTimeout(timer);
        timer = setTimeout(function(){
           // do the things
        }, 200);
   });
})();

这会增加一点延迟(200 毫秒应该没问题),但这将避免大多数中间重新计算。

请注意,当您的 javascript 函数运行时,您不会收到事件,因此您通常不必这样做,除非您真的希望用户在调整大小期间看不到任何内容。

于 2013-06-07T08:42:56.070 回答