0

を使用したリストを含む contenteditable div 要素があります<ol>。ユーザーが 以外の場所を選択すると<li>、新しい<li>アイテムは作成されません。ユーザーがリストの作成後に Enter キーを 2 回押した場合、<li>アイテムは作成されません。

div 要素のすべての行を強制的に<li>アイテムにする方法は?

私はフィドルアカウントを持っていませんが、ここの例に contenteditable タグを追加すると、動作中の動作を確認/テストできますhttp://www.w3schools.com/tags/tryit.asp?filename=tryhtml_lists

4

1 に答える 1

0

の効果はcontenteditableブラウザによって異なりますが、質問で説明されている動作は、要素として編集可能として宣言されているのではなく、リストが編集可能領域内にある場合に一般的です。その理由は、囲んでいる要素が編集可能であるため、実装者は、リストから抜け出す方法、たとえばコンテンツをその後に追加する方法があるべきだと考えたためのようです。

次のような単一の contenteditable ブロックを変更した場合

<div contenteditable>
some stuff
<ol><li>test</li></ol>
some other stuff
</div>

そのような3つのブロックに、

<div contenteditable>
some stuff
</div>
<ol contenteditable><li>test</li></ol>
<div contenteditable>
some other stuff
</div>

その後、動作が変わります。リストで Enter を 2 回押すと、そこに空のアイテムが追加されるだけです。

しかし、問題があります: IE 9 でリスト番号 (またはリストの箇条書き)<ol contenteditable>を省略しているように見えますが、そこに置く明確な方法はありません。ul(編集: これは Quirks モードでのみ発生します。ただし、このバグは、異なるモードの以前の IE バージョンに存在する可能性があります。直接contenteditableのようなリスト要素ではなく、ラッパー要素で使用することをお勧めしolます。)

于 2012-06-13T06:30:42.190 に答える