アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストエリアをクリック→テキストエリア内の内容がコピーされる。
というページを作成しています。

<textarea cols="65" rows="6" onclick="this.select();clipboardData.setData('text',this.value);">
○○○
●●●
△△△
111111
222222
</textarea>

この内容だと、テキストエリア内の改行が反映されず、コピーされたものを他の場所に貼り付けると、すべて横に繋がった1行の文になってしまいます。
これを、目に見えているまま、改行も含めてそのままコピーさせるには、どうすればいいですか?
ちなみに、必要な情報な情報かどうかわかりませんが、同様のテキストエリアが同一ページ内に複数あります。

テキストエリアをクリックでコピーではなく、コピーボタンを押下でコピーでも構いませんが、コピーされるとテキストエリアの色が反転(?)するという動作がほしいと思っています。

説明が下手ですみません…よろしくお願いします。

A 回答 (1件)

onclik の内容を以下のように変更すればうまく動きます。


onclick="this.select();clipboardData.setData('text',this.innerText);"

※ 以下蛇足です。
  textarea の value プロパティで内容を取得すると、改行
  コード CRLF が自動的に LF に変換されてしまうようです。
  これを Windows のメモ帳に貼り付けた場合、メモ帳では
  LF を改行とみなさないために、1行表示になります。
  innerText プロパティでは改行コードが変換されないので、
  目的の動作を実現できます。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!