6

contenteditableHTML 内の要素については奇妙なケースがあります。お客様が事前に作成されたテンプレート (私たちによって) を読み込んで、そのテンプレートを必要に応じて (ほとんどの場合) 変更できるリッチ テキスト エディターがあります。

<br/>テンプレートの一部は、直接編集できないようにマークされていますが、削除することはできます。ただし、そのような要素の 1 つが行の最初の要素 (タグの直後) である場合に問題が発生するようです。DEL上の行にヒットします。そのためcontenteditable=false、ブラウザは ではなく、<br/>編集不可能なスパン全体を削除するようです。

サンプルHTMLはこんな感じ

<div contenteditable=true>
    <span>blah blah blah</span><br/>
    <span contenteditable="false">You cant edit this value directly</span>
</div>

ユーザーがカーソルを , の後に置くblah blah blahDEL、改行ではなく、次の編集可能なコンテンツ全体が削除されます。

この動作を修正する方法はありますか?

カーソル位置を検出しようとしたり(rangyを使用して)、一時スペースを挿入したりなどでだまされましたが、編集不可能なタグが以前のライン。

エディタの使用を Chrome のみに制限しているため、IE や FF について心配する必要はありません。

例のjsfiddle

4

2 に答える 2

0

各スパンcontenteditableを作成すると、ユーザーは編集したくないスパンを削除できなくなり、編集可能なdivを削除できなくなります。

これが私のバージョンのJSFiddleです:http://jsfiddle.net/howderek/HgRsF/2/

于 2012-08-01T21:03:20.410 に答える
0

質問は 2012 年のもので、それ以降、この問題は修正され、ネストされたcontenteditableタグは意図したとおりに機能します。このバグのようないくつかの問題はまだありますが、全体的に機能は使用できるはずです。

于 2014-08-18T14:35:00.673 に答える