IE下window.onresize被多次执行的解决
来源:互联网 发布:linux运维工资 编辑:程序博客网 时间:2024/06/01 17:29
页面上给window对象定义其onresize事件,在拉伸缩小窗口时,其onresize方法将被执行多次,并且其具体执行的次数在不同的电脑有不同的值,相当诡异,Firefox等其他浏览器则无此现象,故可认定此为IE浏览器的bug。看看代码:
<html>
<head>
<script type="text/javascript">
function resizeFunc(){
alert(Math.random());
}
</script>
</head>
<body>
<div>Text...</div>
<script type="text/javascript">
window.attachEvent("onresize",resizeFunc); //方法一
//window.onresize = resizeFunc; //方法二,支持ff
</script>
</body>
</html>
<head>
<script type="text/javascript">
function resizeFunc(){
alert(Math.random());
}
</script>
</head>
<body>
<div>Text...</div>
<script type="text/javascript">
window.attachEvent("onresize",resizeFunc); //方法一
//window.onresize = resizeFunc; //方法二,支持ff
</script>
</body>
</html>
当拉伸或缩小窗口时,可以看到 alert 被执行了数次。
这个bug其实在几个月前就发现了,当时进度逼得紧,没有时间做详细研究,况且此bug比较隐蔽,几乎不会带来任何异常,无非是多运行了几遍函数,浪费点客户的资源又不被觉察......
ok,来看看我暂时想到的解决方案:
<html>
<head>
<script type="text/javascript">
function resizeFunc(){
alert(Math.random());
}
</script>
</head>
<body>
<div id="box" style="width:100%">
<div>Text...</div>
</div>
<script type="text/javascript">
var Container = document.getElementById("box");
Container.attachEvent("onresize",resizeFunc); //方法一
//Container.onresize = resizeFunc; //方法二,支持ff
</script>
</body>
</html>
<head>
<script type="text/javascript">
function resizeFunc(){
alert(Math.random());
}
</script>
</head>
<body>
<div id="box" style="width:100%">
<div>Text...</div>
</div>
<script type="text/javascript">
var Container = document.getElementById("box");
Container.attachEvent("onresize",resizeFunc); //方法一
//Container.onresize = resizeFunc; //方法二,支持ff
</script>
</body>
</html>
- IE下window.onresize被多次执行的解决
- window的onresize执行多次的解决方法
- 解决IE中onresize事件句柄被多次调用的问题
- IE下window.onresize 多次调用和死循环bug处理
- IE6/IE7下onresize执行多次解决方法
- .net CF控件的OnResize被多次执行的问题
- window.onresize 多次触发的解决方法
- window.onresize 多次触发及其解决办法 - debounce
- window.onresize 多次触发及其解决办法 - debounce
- window.onresize
- IE chrom浏览器下window.scroll事件触发多次
- 解决在IE浏览器中resize事件执行多次
- IE6中window.onresize事件的处理
- window.onresize获取窗口的变化
- 修复lte ie8 & chrome 下window 的resize 事件多次执行
- 解决listview getView 被执行多次的问题
- 解决resize多次执行的问题
- ie下的window onload
- C# 中的装箱与拆箱
- 【第二章:源码解析】Spring的BeanFactory的接口注解
- 还是畅通工程hdu1233
- web.xml配置的详细说明
- struts2 中request和session中的管理
- IE下window.onresize被多次执行的解决
- 利用FFT计算相关时序列相对移动的细节说明
- 九大车祸常识 紧急关头可保命
- 文件编码,文件或文件名编码格式转换
- 如何在FLASH CS5开发组件与FLEX协同开发
- C++类型隐式转换
- 读取二进制文件
- jQuery最佳实践
- WCF揭秘——共享数据契约