2

私はテキストエリアを持っています

<textarea id="id-textarea-readme" wrap="hard"></textarea>

誰かが自分のテキストを「メモ帳」に書き込んで c&p を介してそこに入れるまで、これは本当にうまく機能します 、単語は正しく折り返されますが、「余分な」改行は行われません(これは「ハード」の目的のようなものです)

これを機能させるための回避策はありますか? JSまたは改行をトリガーするトリックはありますか?

4

2 に答える 2

1

このwrap=hard属性は非標準であり、ブラウザ間で一貫して機能しません。このようなクライアント側の操作に依存する必要がないように、設計を変更してください。Textarea 要素は、ユーザーが実際に Enter キーを押したときに改行を含む、実際のユーザー入力を生成することが期待されます。さらに処理するために長い行を分割する必要がある場合は、サーバー側で行います。

私のテストでは、IE はコピー アンド ペーストでもラップします。一方、Firefox は、空白で折り返す場合にのみハード改行を導入し、「単語」内で折り返す場合は導入しないためcols=5、入力 0123456789 (直接またはコピーペーストのいずれか) は 2 行として表示されますが、1 行として送信されます。 01234 56789 は 2 行で送信されます。他のブラウザにも非互換性があることを期待しています。

于 2012-04-27T21:16:06.177 に答える
0

コピー & ペーストの問題は、ネイティブ OS の改行/改行/改行の問題に起因する可能性があります。

textarea DOM要素の変更または貼り付けをリッスンして、javascriptで解析できますか? これは私の概念的な推測ですが、jquery の一般的な例を次に示します。

$("textarea").on("change", function(event){
    $this.replace(/\n\r?/g, '\n');
});
于 2012-06-09T01:11:59.413 に答える