当使用CSS3 resize属性的div的大小发生变化时,是否有JavaScript事件要检测?

当使用CSS3 resize属性的div的大小发生变化时,是否有JavaScript事件要检测?,javascript,css,Javascript,Css,我正在使用CSS3 resize属性创建一个可垂直滚动的div: .mydiv { resize: vertical overflow: auto; } Chrome在div的右下角放置了一组小的对角线图案填充,我现在可以用它来调整大小 有没有办法在JavaScript中检测大小调整?我试过在div的属性上使用DOM4,但它没有激发任何东西。我可以在div上使用鼠标事件,但它很粗糙(mousedown不会启动,因此我必须监听所有mousemove并检测它是否在该角附近。)似乎无法使用C

我正在使用CSS3 resize属性创建一个可垂直滚动的div:

.mydiv {
  resize: vertical
  overflow: auto;
}
Chrome在div的右下角放置了一组小的对角线图案填充,我现在可以用它来调整大小


有没有办法在JavaScript中检测大小调整?我试过在div的属性上使用DOM4,但它没有激发任何东西。我可以在div上使用鼠标事件,但它很粗糙(mousedown不会启动,因此我必须监听所有mousemove并检测它是否在该角附近。)

似乎无法使用Chrome textarea手柄将事件附加到调整大小。阅读以下内容:

$("textarea").resizable({
    resize: function() {
        $("body").append("<pre>resized! Height:"+$(this).height()+" /// Width:"+$(this).width()+"</pre>");
    }
});
我尝试使用domsubtreemedited,但它没有修改DOM,因此无法工作

--更新--如果您想使用jQuery UI,那么这是可能的。请参见:

$("textarea").resizable({
    resize: function() {
        $("body").append("<pre>resized! Height:"+$(this).height()+" /// Width:"+$(this).width()+"</pre>");
    }
});
$(“textarea”)。可调整大小({
调整大小:函数(){
$(“body”).append(“已调整大小的!高度:+$(此).Height()+”///宽度:+$(此).Width()+”);
}
});
--更新--这家伙已经弄明白了

你能试试这个吗

$("textarea").resizable({
    resize: function() {
        $("body").append("<pre>resized! Height:"+$(this).height()+" /// Width:"+$(this).width()+"</pre>");
    }
});
HTML:


现在只有窗口对象可以有调整大小事件处理程序。但是可以对元素使用getBoundingClientRect()

在一些早期浏览器中,可以在任何HTML元素上注册调整大小事件处理程序。仍然可以设置onresize属性或使用addEventListener()在任何元素上设置处理程序。但是,调整大小事件仅在窗口对象上激发(即document.defaultView返回)。只有在窗口对象上注册的处理程序才会接收调整大小事件

有一个建议,允许所有元素都收到调整大小更改的通知


我添加了另一个更新。谢谢你的回答,但我正在寻找一个普通的JavaScript解决方案。另外,jQuery似乎通过轮询来实现它,这似乎是不可取的。