resize 事件实际上仅在窗口更改大小时触发,而不是在特定元素调整大小时触发。
如果你想在调整特定元素的大小时创建一个事件,我过去使用过这个插件;效果很好。
你也可以这样做:
$.fn.changeSize = function(fn){
var $this = this,
w0 = $this.width(),
pause = false; // this is only necessary if you don't want the callback to overlap
$this.sizeTO = setInterval(function(){
if (!pause){
var w1 = $this.width();
if (w1 != w0) {
pause = true
w0 = w1;
fn(function(){pause=false;}); // if you don't want the callback to overlap, have the callback accept another callback to resume the check.
}
}
}, 100);
}
这会每 0.1 秒检查一次元素。如果高度发生了变化,那么它将调用fn
回调。