当用户调整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中
使用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);