在Firefox、WebKit和Internet Explorer中插入窗口调整大小事件的正确(现代)方法是什么?
你能同时打开/关闭两个滚动条吗?
在Firefox、WebKit和Internet Explorer中插入窗口调整大小事件的正确(现代)方法是什么?
你能同时打开/关闭两个滚动条吗?
当前回答
既然你是开放的jQuery,这个插件似乎做的把戏。
其他回答
既然你是开放的jQuery,这个插件似乎做的把戏。
很抱歉提出了一个旧线程,但如果有人不想使用jQuery,你可以使用这个:
function foo(){....};
window.onresize=foo;
使用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在评论中所指出和解释的那样。
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);
});
下面是使用resize事件的非jquery方法:
window.addEventListener('resize', function(event){
// do stuff here
});
它适用于所有现代浏览器。它不会为你扼杀任何东西。这里有一个实际应用的例子。