• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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()