当前位置:  开发笔记 > 前端 > 正文

html onresizeend事件,或检测调整大小结束的等效方法

如何解决《htmlonresizeend事件,或检测调整大小结束的等效方法》经验,为你挑选了1个好方法。

我正在尝试检测onresize事件何时在浏览器中结束.如果我使用"onresize"事件,在Firefox中它似乎只在调整大小事件结束后被触发一次,这正是我想要的.但是如果我在IE中尝试,"onresize"事件会在调整大小期间多次触发.

我也尝试在MSDN上做广告的"onresizeend"事件.但它似乎根本没有被解雇,无论是在FF还是在IE中.我使用以下代码:


    
        
        
    
    
        

任何想法为什么这不起作用?也许不支持"onresizeend"事件?在这种情况下,如何检测调整大小事件何时结束?

谢谢.



1> Greg..:

来自MSDN onresizeend()

只有内容可编辑对象才能包含在控件选择中.您可以通过将contentEditable属性设置为true或将父文档置于设计模式来使对象内容可编辑.

这就解释了为什么它不会为你开火.我怀疑你不想启用contentEditable,所以为什么不设置一个计时器.

var resizeTimer = 0;
function doResize()
{
    if (resizeTimer)
        clearTimeout(resizeTimer);

    resizeTimer = setTimeout(doResizeEnd, 500);
}

它并不完美,但希望会足够好.


好答案.注意`clearTimeout(x)`实际上并没有改变x的布尔值,因此无论它是否被清除,它都将返回true; `clearTimeout`也可以无错误地传递给任何东西.因此,if(resizeTimer)`在这里是多余的.
推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有