1
在IE瀏覽器中的window.resize事件並沒有做我認爲它的確如此。在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