Javascript 如何在调整大小时停止onResize函数执行其内容

Javascript 如何在调整大小时停止onResize函数执行其内容,javascript,jquery,html,Javascript,Jquery,Html,我希望jQuery.fn.resize的内容仅在我放开鼠标按钮后执行,而不是在我调整窗口大小时执行 我试过把onmousedown放在里面调整大小,但没用 $(window).resize(function(){ console.log("resizing") }); 您无法知道文档外部发生了什么,并且在调整大小结束时也不会收到通知(调整大小可以通过多种方式进行,但并非所有方式都基于鼠标) 但您可以添加一个计时器以实现相同的效果: (function(){

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

我试过把onmousedown放在里面调整大小,但没用

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

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

但您可以添加一个计时器以实现相同的效果:

(function(){
   var timer;
   $(window).resize(function(){
        if (timer) clearTimeout(timer);
        timer = setTimeout(function(){
           // do the things
        }, 200);
   });
})();
这将增加一点延迟(200毫秒应该可以),但这将避免大多数中间重新计算


请注意,javascript函数运行时不会收到事件,因此通常不必执行此操作,除非您确实希望用户在调整大小期间看不到任何内容。

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

但您可以添加一个计时器以实现相同的效果:

(function(){
   var timer;
   $(window).resize(function(){
        if (timer) clearTimeout(timer);
        timer = setTimeout(function(){
           // do the things
        }, 200);
   });
})();
这将增加一点延迟(200毫秒应该可以),但这将避免大多数中间重新计算


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

如果您希望在调整大小后记录事件,则应改为收听onmouseup。@SubirKumarSao并非每个调整大小事件都会在
mouseup
eve之后nt。大多数解决方案都谈到时间延迟。看看插件。滚动处理就是其中一个例子。如果你想在调整大小后记录它,那么你应该听onmouseup。@SubirKumarSao不是每个调整大小的事件都会跟着一个
mouseup
事件。大多数解决方案都谈到时间延迟。看看插件。滚动处理就是其中之一他们的例子。@yckart他问的是不可能的。这是用户在可能的情况下应该最接近的。是的,这是真的!但在编辑之前还不清楚。@yckart他问的是不可能的。这是用户在可能的情况下应该最接近的。是的,这是真的!但在你编辑之前还不清楚