在Firefox、WebKit和Internet Explorer中插入窗口调整大小事件的正确(现代)方法是什么?
你能同时打开/关闭两个滚动条吗?
在Firefox、WebKit和Internet Explorer中插入窗口调整大小事件的正确(现代)方法是什么?
你能同时打开/关闭两个滚动条吗?
当前回答
我认为jQuery插件“jQuery resize event”是最好的解决方案,因为它负责调节事件,使它在所有浏览器上都能正常工作。这与Andrews的答案相似,但更好,因为你可以将resize事件与特定的元素/选择器以及整个窗口挂钩。它为编写干净的代码提供了新的可能性。
这个插件可以在这里找到
如果您添加了很多侦听器,则会出现性能问题,但对于大多数使用情况来说,这是完美的。
其他回答
jQuery有一个内置的方法:
$(window).resize(function () { /* do something */ });
为了UI的响应性,你可以考虑使用setTimeout来调用你的代码,只在一些毫秒之后,如下面的例子所示,灵感来自于这个:
function doSomething() {
alert("I'm done resizing for the moment");
};
var resizeTimer;
$(window).resize(function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(doSomething, 100);
});
$(window).bind('resize', function () {
alert('resize');
});
希望对jQuery有帮助
首先定义一个函数,如果已有函数,则跳到下一步。
function someFun() {
//use your code
}
浏览器调整大小的方法如下。
$(window).on('resize', function () {
someFun(); //call your function.
});
既然你是开放的jQuery,这个插件似乎做的把戏。
很抱歉提出了一个旧线程,但如果有人不想使用jQuery,你可以使用这个:
function foo(){....};
window.onresize=foo;