ユーザーがテキスト入力からデータを貼り付け/削除すると、テキストボックスを自動拡張/縮小するjQuery プラグインがStackOverflow Pageに見つかりました。かなりの量のテキストを貼り付けようとするまでは問題なく動作します。すると、全然伸びません。ただし、文字を入力し続けたり、少量のテキストを貼り付けたりしても問題なく動作します。大量のデータが貼り付けられている場合でも、同時に展開するように微調整する方法を誰か教えてもらえますか?
1 に答える
1
問題は、プラグインが最大幅を処理する方法が原因です。
1回の操作(貼り付けなど)で要素の幅が最大値を超えた場合、プラグインは幅を最大値まで拡張せず、そのままにします。
これを回避するために、新しい幅を計算するときに最大幅を考慮に入れるようにコードを変更しました。
// Calculate new width + whether to change
var testerWidth = testSubject.width(),
newWidth = Math.min((testerWidth + o.comfortZone) >= minWidth
? testerWidth + o.comfortZone : minWidth, o.maxWidth - 1);
更新されたjsbinはここにあります。
于 2012-06-25T10:35:10.067 に答える