1

基本的なスタイルが適用されたテキスト ブロックを削除すると、エディターはアクティブな状態 (太字など) のままですが、そのスタイルのボタンは非アクティブ化されます。文字を入力すると、ボタンが再び有効になります。

これが CKEditor デモでも発生することを確認したので、インストールの変更とは関係ありません。

再現する手順:

Use standard CKEditor: http://ckeditor.com/demo#standard
Select all and delete existing contents
Type 'Hello, World'
Select 'World'
Click 'Bold' button (or Ctrl+B)
Move cursor to end of content
Remove via backspace until bold content is removed

これにより、ボタンは非アクティブ (デフォルト状態) として表示されますが、コンテンツを入力するとテキストが太字で入力され、ボタンが再びアクティブになります。

Chrome、Firefox、および IE10 でこれを再現しました (空白のコンテンツと末尾のスペースに関する規則が少し異なります)。

新しいコンテンツがエディターに入力される状態をプルし、それを使用してボタンの状態を更新して、入力したコンテンツがどのように入力されるかをユーザーが確認できるようにする方法はありますか?

4

1 に答える 1

2

私はこの TC をよく知っています。

  • 太字全体を削除、太字ボタンは非アクティブ、
  • 再び入力を開始し、
  • 太字が適用されます:|

これは Webkit (Chrome および Safari) で発生します。これは、Webkit の contenteditable 動作の非常に醜い動作のためです。

これはここで報告されています:

残念ながら、Chromium の開発者も Webkit の開発者も回答しませんでした。おそらくコンテンツ編集可能なバグのほとんどと同様に、これはすぐには修正されません (何年も修正されていない重大な問題があります)。したがって、近い将来、CKEditor 側でバックスペース ロジック全体を独自のものでオーバーライドすることで、これを修正する予定です。そうすれば、そのような問題は存在しないはずです。

PS。残りのブラウザーに関しては、小さな不一致があることはわかっていますが、それらを修正することはできません。Webkit のバグと同様に、これらのケースを修正するには、カスタムのバックスペース処理を作成する必要があります。

于 2013-05-17T09:01:20.927 に答える