在Firefox,WebKit和Internet Explorer中使用的窗口调整大小事件的正确(现代)方法是什么?
你可以打开/关闭两个滚动条吗?
jQuery有一个内置的方法:
$(window).resize(function () { /* do something */ });
对于用户界面的响应起见,你可以考虑使用的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方式进入resize事件:
window.addEventListener('resize', function(event){ // do stuff here });
它适用于所有现代浏览器.它并没有油门你什么.以下是它的实例.
很抱歉打开一个旧线程,但如果有人不想使用jQuery,你可以使用:
function foo(){....}; window.onresize=foo;
由于你对jQuery开放,这个插件似乎可以解决问题.
使用jQuery 1.9.1我发现虽然在技术上完全相同)*,但这在IE10中不起作用(但在Firefox中):
// did not work in IE10
$(function() {
$(window).resize(CmsContent.adjustSize);
});
虽然这适用于两种浏览器:
// did work in IE10
$(function() {
$(window).bind('resize', function() {
CmsContent.adjustSize();
};
});
编辑:
)*实际上技术上并不完全相同,正如WraithKenny和Henry Blyth的评论中所指出和解释的那样.