Prototype Enhance User Interface を使用して TextArea を自動サイズ設定できますか?
ユーザー インターフェイスの共通要素の 1 つは textarea で、ユーザーは拡張テキストを入力できます。 。ただし、固定サイズのテキストエリアでは、入力されたテキストの長さが異なる場合、未使用のスペースが残ったり、見苦しいスクロールバーが必要になったりする可能性があります。
ユーザーが配送先住所の入力を必要とする社内販売アプリケーションのケースを考えてみましょう。大きなテキストエリアは、テキストが限られている場合でも、かなりの垂直スペースを占有する可能性があります。一方、サイズを小さくすると、スクロールバーを必要とする長いアドレスで問題が発生する可能性があります。
解決策としての垂直方向のサイズ変更
別の解決策は、テキストエリアの垂直方向の自動サイズ変更です。 。これにより、テキストに必要なスペースのみが確保され、高さが動的に調整されます。ただし、長い行や複雑なテキストの折り返しが懸念されるため、水平方向のサイズ変更は推奨されません。
Prototype を使用した実装
Prototype の JavaScript フレームワークを利用すると、この自動サイズ変更機能を次のように実装できます。次のコード:
resizeIt = function() { var str = $('iso_address').value; var cols = $('iso_address').cols; var linecount = 0; $A(str.split("\n")).each(function(l) { linecount += 1 + Math.floor(l.length / cols); // Take long lines into account }); $('iso_address').rows = linecount; };
このコードは、テキストエリアの「keyup」イベント。入力内の改行数に基づいて行を調整します。これにより、垂直方向の高さがテキストの実際のサイズと一致すると同時に、無制限の行拡張が可能になります。
利点と考慮事項
垂直方向の自動サイズ変更は、さまざまなテキストの長さに適応する動的テキストエリア。不要な空白やスクロールバーの必要性がなくなり、全体的なユーザー エクスペリエンスが向上します。
ただし、このアプローチは垂直方向のサイズ変更のみを目的としていることに注意してください。テキストコンテンツの予測不可能な性質と、望ましくない改行が発生する可能性があるため、水平方向の自動サイズ変更は依然として困難です。
以上がプロトタイプを使用してテキストエリアのサイズを自動化すると、ユーザー インターフェイスの使いやすさが向上しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。