Javascript 如何在每次div更改其大小时运行函数?
如何在每次div更改其大小时运行函数 Div的大小通常会随着窗口大小的改变而改变,但不仅仅是; 新的宽度/高度并非每次都由css设置,但每次更改时,我需要获得该高度的实际宽度/高度 我使用jQuery,因此基于它会很好 它必须在chrome、ff2、ff3、ie6(如果不能工作,我可能会用定时器xD延迟用户浏览器)ie7、safari、opera中工作。。。换句话说,最流行的浏览器Javascript 如何在每次div更改其大小时运行函数?,javascript,events,resize,Javascript,Events,Resize,如何在每次div更改其大小时运行函数 Div的大小通常会随着窗口大小的改变而改变,但不仅仅是; 新的宽度/高度并非每次都由css设置,但每次更改时,我需要获得该高度的实际宽度/高度 我使用jQuery,因此基于它会很好 它必须在chrome、ff2、ff3、ie6(如果不能工作,我可能会用定时器xD延迟用户浏览器)ie7、safari、opera中工作。。。换句话说,最流行的浏览器 谢谢;) 尝试onresize事件(http://www.w3schools.com/jsref/event_on
谢谢;) 尝试
onresize
事件(http://www.w3schools.com/jsref/event_onresize.asp):
是一个插件,它扩展了jQuery的resize()
事件以处理任何元素,而不仅仅是窗口。
…但是上面提到的
resize()
插件如果按照您需要的方式工作,看起来会更好。这个问题是在'11年提出的,但当我通过谷歌来到这里时,我想澄清一些事情
1) 现在已经有了一种可靠的方法来检查几乎所有浏览器中的元素是否都已更改。检查此“我的库”:
此库有一个类ResizeSensor
,可用于调整大小检测。它使用基于事件的方法,因此速度非常快,不会浪费CPU时间
2) 请不要使用jQuery onresize插件,因为它使用
setTimeout()
循环检查更改。这是难以置信的缓慢和不准确。乍一看,w3c似乎只将其授予窗口和正文
请不要使用此jQuery插件。它真的很慢而且一点也不准确。请参阅下面我的答案,以获得更好的解决方案。
<div onresize="alert('You have changed the size of the window')"></div>