如何使用Javascript或Jquery检查div何时resize

所以我在线框图中有一个网络应用程序,但是我遇到了一个需要技术解决方案才能巩固这个模型的问题。 那是:

  • 图#1用户创建新的’text-field’元素(具有最大宽度的div。)然后用户开始输入所述元素,直到……

  • 图#2元素达到最大宽度,文本下降到一个新行,并创建一个’新’背景图像(以另一个div的forms)(其不透明度和位置动画效果)以容纳更大的元素sze。

UX模型概念

这是预期function的大致轮廓(目前给出,我不知道如何使用一个行为类似于具有最大宽度的div的文本字段)但我很好奇如何创建事件处理程序第二步 ; 我考虑过检查每个’keydown’事件,但这似乎效率低下……

有没有人有任何建议或想法来解决这样的问题? 谢谢!

在MSIE中,应该触发onresize。

‘keydown’或’keyup’事件是我想到的第一件事。 如果您决定这样做,则必须每次都检查html元素的大小,并将其与旧的(保存在变量中)进行比较。

最简单的方法似乎是将处理程序绑定到html元素,并在大小更改时触发它。 我不知道这样的事件是否存在,但是如果那样的话就是这样。

(+1为您的描述性问题)

您可以尝试使用CSS3转换function:
http://slides.html5rocks.com/#slide42
这样,您想要的元素可以通过浏览器本身进行动画处理。

免责声明:显然,这不适用于更复杂的效果。

不确定如何攻击宽度问题,其中输入字段自动resize直到最大宽度然后换行。 您可以在文本字段中使用等宽字体,以便您可以使用javascript水平监视和控制框的增长,直到最大宽度。

要接近高度自动增长你最好使用textarea将它设置为一行开始,这样它看起来像一个输入框,然后当文本自动换行到下一行时,你可以检查textarea的scollHeight并检查textarea的实际高度,减去它们,然后得到增长textarea以停止出现垂直滚动条所需的高度。

上面的内容将使滚动条短暂地弹出和关闭,同时你的javascript做得很神奇。 你可以使用overflow:auto; 隐藏滚动条但我不知道scrollHeight是否仍然可以正确读取。 你需要做实验。

另请注意我上面关于在keydown上设置间隔并检查输入长度以停止重复按键文本问题的评论。