当用户结束调整浏览器窗口大小时,jQuery或JavaScript有什么办法触发函数?
换句话说:
我目前只能在用户开始使用jQuery调整窗口大小时触发事件
您可以使用.resize()每次实际改变宽度/高度时获取,如下所示:
.resize()
$(window).resize(function() { //resize just happened, pixels changed });
它会使用新的高度/宽度值并在页面中对其进行更新以供您查看。请记住,事件并没有真正开始或结束,它只是在发生调整大小时“发生”……无话可说,另一个事件不会发生。
编辑: 通过评论看来,您似乎想要一个“结束”事件,找到的解决方案可以做到这一点,但有一些例外(您无法以跨浏览器的方式区分鼠标向上和暂停,同为一个端Vs的停顿 )。您可以创建该事件,以使其更加清晰,例如:
$(window).resize(function() { if(this.resizeTO) clearTimeout(this.resizeTO); this.resizeTO = setTimeout(function() { $(this).trigger('resizeEnd'); }, 500); });
您可以在任何地方都拥有一个基本文件,无论您想做什么…然后可以绑定到resizeEnd要触发的新事件,如下所示:
resizeEnd
$(window).bind('resizeEnd', function() { //do something, window hasn't changed size in 500ms });