コンテンツを編集可能にすると、暗黙的にユーザーが HTML のコンテンツを変更できるようになります。
</p>
Return キーを押すと、段落を閉じて ( ) 新しい段落を開始する( ) か、改行を<p>
入力する( ) など、ある種の改行が挿入されます<br>
。どちらも HTML では HTML タグが必要です。これは、標準の改行文字 (.\n
または など\n\r
) が単一のスペースとしてレンダリングされるという単純な事実のためです。これはユーザーが期待するものではありません。したがって、生の改行を「ソフト ラップ」として挿入します。意味がなく、最終的には、ブレークを挿入すべきだと思うときにブレークを挿入しないことでサイトに腹を立てて、エンターキーを無力にバタンと叩くユーザーにつながります.
さらに興味深い事実として、ユーザーがテキストを強調表示すると、キーボード ショートカットを使用してテキストを太字にしたり、斜体にしたりできる (またはすべき) ことができます。これにより、HTML が再び挿入されます。
この動作をオーバーライドする Javascript を作成するまでもなく、HTML タグを挿入する Enter キーを無効にして、要求された改行をレンダリングできるかどうかはわかりません。
これを示すために、ここに非常に単純なページがあります:
<html>
<body>
<div contentEditable="true"> Some things.</div>
</body>
</html>
(少なくとも Internet Explorer では) テキストをダブルクリックすると編集可能になります。行末に移動し、次のように入力します。
- Enter- (新しいパラグラフが作成されます (以前のテキストを
p
タグで囲みます)。
- 「
Words
」と入力し、それを選択してヒットするとCrtl + b、テキストが<strong>
タグで囲まれます。
- ヒットShift + Enter- 改行 (
<br>
) が挿入されました。
- 「
More words
」と入力して選択し、タグCrtl + iでイタリック体になりました。<em>
ソースは次のようになります。
<html>
<body>
<div contentEditable="true">
<p>Some things.</p>
<p>
<strong>Words</strong>
<br>
<em>More words</em>
</p>
</div>
</body>
</html>
領域に入るコンテンツを完全に制御したい場合は、WYSIWYG エディターを使用するか、ブラウザーが何をしているのかをおそらく知っていることを受け入れて、心配する必要がないようにすることをお勧めします。 .