我怎么能挂钩到浏览器窗口调整大小事件?
jQuery有一种监听调整大小事件的方法,但我不希望仅仅为了这一需求而将其引入我的项目中。
我怎么能挂钩到浏览器窗口调整大小事件?
jQuery有一种监听调整大小事件的方法,但我不希望仅仅为了这一需求而将其引入我的项目中。
当前回答
首先,我知道addEventListener方法已经在上面的评论中提到过,但我没有看到任何代码。因为这是首选的方法,下面是:
window.addEventListener('resize', function(event){
// do stuff here
});
这是一个工作样本。
其他回答
首先,我知道addEventListener方法已经在上面的评论中提到过,但我没有看到任何代码。因为这是首选的方法,下面是:
window.addEventListener('resize', function(event){
// do stuff here
});
这是一个工作样本。
<script language="javascript">
window.onresize = function() {
document.getElementById('ctl00_ContentPlaceHolder1_Accordion1').style.height = '100%';
}
</script>
永远不要重写窗口。onresize函数。
相反,应该创建一个函数来向对象或元素添加事件侦听器。 这将检查监听器,如果监听器不工作,那么它将覆盖对象的函数作为最后的手段。这是jQuery等库中使用的首选方法。
对象:元素或窗口对象 类型:调整大小,滚动(事件类型) 回调:函数引用
var addEvent = function(object, type, callback) {
if (object == null || typeof(object) == 'undefined') return;
if (object.addEventListener) {
object.addEventListener(type, callback, false);
} else if (object.attachEvent) {
object.attachEvent("on" + type, callback);
} else {
object["on"+type] = callback;
}
};
那么用法是这样的:
addEvent(window, "resize", function_reference);
或者使用匿名函数:
addEvent(window, "resize", function(event) {
console.log('resized');
});
window.onresize = function() {
// your code
};
下面的博文可能对你有用:修复IE中的窗口大小调整事件
它提供了以下代码:
Sys.Application.add_load(function(sender, args) { $addHandler(窗口,“调整大小”,window_resize); }); var resizeTimeoutId; 函数 window_resize(e) { window.clearTimeout(resizeTimeoutId); resizeTimeoutId = window.setTimeout('doResizeCode();', 10); }