resize()

为 JavaScript 的"resize"事件绑定一个处理函数,或者触发元素上的该事件。

.resize(handler(eventObject))
  • handler(eventObject) 类型:Function() 。每次事件触发时会执行的函数。
.resize([eventData ], handler(eventObject))
  • eventData 类型: PlainObject 。一个对象,它包含的数据键值对映射将被传递给事件处理程序。
  • handler(eventObject) 类型:Function() 。每次事件触发时会执行的函数。
.resize()
  • 这个方法不接受任何参数。

这个函数的前两个用法是 .bind('resize', handler) 的快捷方式,第3个不带参数的用法是 .trigger('resize') 的快捷方式。

当浏览器window的尺寸改变时, window 元素上绑定的 resize 事件将被触发:

$(window).resize(function() {
  $('#log').append('<div>Handler for .resize() called.</div>');
});

现在,只要在浏览器窗口的大小改变时,根据不同的浏览器,该消息被追加到<div id="log">一次或多次。

resize 事件处理中的代码,不应该依赖于事件被调用的次数。由于不同浏览器对该事件实现的方式不同,该事件被调用的时机也不同。例如,对于 Internet Explorer 或基于 WebKit 的浏览器(例如,Safari 和 Chrome)而言,resize 事件在窗口改变的过程中,会被连续调用。在某些浏览器,如 Opera,该事件只在调整窗口大小操作结束时被调用。

Additional Notes(其他注意事项):

  • .resize() 方法只是作为 .on("resize", handler) 的一个速记写法,移除该事件可以使用 .off("resize")

例子

当窗口大小改变时(或改变后),查看窗口的宽度:

$(window).resize(function() {
  $('body').prepend('<div>' + $(window).width() + '</div>');
});

下篇: scroll()