当用户调整CSS3可resize的文本输入时,是否可以捕获resize事件?

我将文本输入定义为可以使用CSSresize,如下所示:

#text_input { resize:horizontal; }  

当用户调整输入大小时,是否可以捕获Javascript(最好是在jQuery中)事件? 我已经尝试过使用标准的jQuery .resize()但它不能像我想的那样工作。

谢谢你的帮助…

你可以使用mouseup事件。 每次resize后我都会尝试它。 如果您检查当前大小是否不同,那么您的代码的最后大小甚至不会经常执行。

编辑:

  $('#bla').bind('mouseup', function(e){ if($(e.currentTarget).data('lastWidth') != $(e.currentTarget).width()){ console.log("resize!"); } $(e.currentTarget).data('lastWidth', $(e.currentTarget).width()); }); 

可能是一个问题,width()仍然返回旧值,至少在chrome中

你使用过element.onresize吗?

https://developer.mozilla.org/en/DOM/element.onresize

或者使用jQuery

http://api.jquery.com/resize/

使用jQuery它看起来像这样:

EDIT1:

使用jQuery,也许这种脚本可以工作:

 $("text_input").resizable({ resize: function() { //do something } }); 

据我所知,在使用jQuery捕获事件之前,应该使输入可resize。

EDIT2:

如果您想使用JS但不使用jQuery,请尝试这些(浏览器支持可能不同)。

 var object=document.getElementById("text_input"); object.onresize = handler; object.addEventListener ("resize", handler, useCapture);