1

正如标题所说,当输入框的宽度发生变化时,jQuery 事件 resize() 不会触发。根据jQuery API 文档,resize 事件被发送到(窗口)处理程序。所以我的问题是,我还有什么其他的解决方案来收听调整大小的事件。

我目前在 CSS 中使用 transition 属性,而不是使用 jQuery animate 来改变输入宽度。它在 CSS 中更干净、更流畅,所以我想保持这样。如果有人有任何其他解决方案,请在下面列出。

我的第一次尝试是这样的

$('input').resize(function() {
    $(this).val('Resize? Nope!');
});

这是调整大小事件的小提琴:http: //jsfiddle.net/Yw9CT/

4

2 回答 2

0

您可以收听该transitionend事件以了解 CSS3 调整大小何时完成。

于 2013-05-19T18:07:59.997 回答
0

jQuery 中的resize()方法适用于可以由用户手动调整大小的元素。通过使用 javacript/jQuery 调整元素的大小,您不会触发任何事件...

您可以创建自己的事件,也可以使用textarea.

更新

看了你的jsFiddle,这个问题就很清楚了。您正在使用 CSS3 方法调整输入的大小。这不会触发任何 jQuery 事件,您最好使用 jQuery 处理动画。

于 2013-05-18T18:58:54.397 回答