0

次のようなコマンドを使用します。

this.document.execCommand("insertorderedlist", false, argument);

ほとんどのブラウザーでは正しく動作しますが、IE (IE9 を含む) ではテキストが多すぎます。

たとえば、ContentEditable div に次のテキストがあり、キャレットが指定どおりに配置されているとします (構造に html が含まれています)。

test<br>
<br>[caret]
test2

次に、execCommant を実行すると、最初に箇条書きが表示され、すべてがその箇条書きの一部としてインデントされます。

そのようです:

<ol>
<li> test<br>
  <br>[caret]
  test2
</ol>

つまり、IE は で区切られた周囲のテキストを含めています<br>。コンテナー要素 (div または span) がある場合は正しく機能します。

4

1 に答える 1

0

唯一の本当の解決策は、<br>行を分離するために使用しないことです。代わりに<div>またはを使用し<p>ます。

于 2012-02-08T19:41:09.597 に答える