在IE浏览器调整大小与文档大小调整
问题描述:
在IE浏览器中的window.resize事件并没有做我认为它的确如此。在IE浏览器调整大小与文档大小调整
我以为只有当物理窗口/视图端口改变大小(例如,用户在浏览器窗口上点击最大化)时才会触发它,但如果我更改文档大小并引入滚动条,也会触发它。
有没有办法分辨这两件事情:查看端口调整大小和文件调整,而无需编写一个复杂的黑客攻击?
答
没有接受者?这里是黑客(未经测试 - 但这个想法是正确的)
function viewPortResize(fn, context){
context = context || window;
var $window = $(window);
var winWidth = $window.width();
var winHeight = $window.height();
return function(e){
var oldW = winWidth;
var oldH = winHeight;
winWidth = $window.width();
winHeight = $window.height();
if (winWidth != oldW || winHeight != oldH){
fn.apply(context, [e]);
}
}
}
//use:
$(window).resize(viewPortResize(function(e){
alert("this only happens when viewport is resized!");
});
此外,只有在引入滚动条时调整窗口大小时才需要注意。 – mkoryak 2010-06-09 20:13:15