1

タイトルが示すように、入力ボックスの幅が変更されたときに jQuery イベント resize() が発生しません。jQuery API documentationによると、サイズ変更イベントは (ウィンドウ) ハンドラーに送信されます。だから私の質問は、サイズ変更イベントをリッスンするために他にどのような解決策が必要かということです。

現在、jQuery animate を使用して入力幅を変更するのではなく、CSS で遷移属性を使用しています。CSSの方がずっときれいで滑らかなので、そのままにしておきたいと思います。他の解決策がある場合は、以下にリストしてください。

私の最初の試みはこのようなものでした

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

サイズ変更イベントのフィドルは次のとおりです: http://jsfiddle.net/Yw9CT/

4

2 に答える 2

0

jQueryのresize()メソッドは、ユーザーが手動でサイズ変更できる要素用です。javacript/jQuery を使用して要素のサイズを変更しても、イベントは発生しません...

独自のイベントを作成するか、textarea.

アップデート

jsFiddle を見た後、この問題は非常に明確です。CSS3 メソッドを使用して入力のサイズを変更しています。これは jQuery イベントをトリガーしません。jQuery でアニメーションを処理する方がよいでしょう。

于 2013-05-18T18:58:54.397 に答える
0

イベントをリッスンしてtransitionend、CSS3 のサイズ変更がいつ完了したかを確認できます。

于 2013-05-19T18:07:59.997 に答える