检测一个窗口使用JavaScript的大小?

当用户结束调整浏览器窗口的大小时,有没有什么办法用jQuery或JavaScript来触发一个函数?

换句话说:

  1. 当用户调整浏览器窗口大小时,可以检测到鼠标移动事件吗? 除此以外:
  2. 我可以检测窗口resize操作完成时?

我目前只能在用户开始用jQuery调整窗口的大小时触发一个事件

你可以使用.resize()来获取每一次宽度/高度的实际变化,如下所示:

 $(window).resize(function() { //resize just happened, pixels changed }); 

您可以在这里查看正在运行的演示 ,它将采用新的高度/宽度值并在页面中更新它们以供您查看。 记住事件并不真正开始结束 ,它只是在发生resize时“发生”……没有什么可以说另一个不会发生。


编辑:通过评论,似乎你想要的东西像一个“端”事件,你find的解决scheme是这样做的,除了一些例外(你不能区分在跨浏览器方式的鼠标和暂停, 结束暂停相同 )。 您可以创build该事件,使其更清洁一些,如下所示:

 $(window).resize(function() { if(this.resizeTO) clearTimeout(this.resizeTO); this.resizeTO = setTimeout(function() { $(this).trigger('resizeEnd'); }, 500); }); 

你可以让这是一个基本文件,无论你想做什么…然后你可以绑定到你触发的新的resizeEnd事件,像这样:

 $(window).bind('resizeEnd', function() { //do something, window hasn't changed size in 500ms }); 

你可以在这里看到这个方法的工作演示