2013-03-27 11 views

答えて

7

あなたの欠点は、要素の属性がcontenteditable="true"であることです。エディタをカスタマイズする(CKEDITOR.inline(element, cfg)で実行)場合は、最初にCKEDITOR.disableAutoInline = true;と設定します。

CKEDITOR.disableAutoInline = true;では、すべてのcontenteditable="true"要素を手動で初期化して、エディタインスタンスにする必要があります。インラインインスタンスの場合はofficial guideを参照してください。

+0

ねえ...どちらも正しいですよ。私はcontenteditable = "true"を使用する必要がありますが、disableAutoInline = "true"はoleqの指示通りです。 ソリューション:http://jsfiddle.net/5LuyD/2/ ありがとう –

2

編集可能なタグのcontenteditable = "true"属性が欠落しています。

ここはフィドルです。 http://fiddle.jshell.net/5LuyD/1/

+0

いいえ! contenteditable = "true"を使用すると、設定されていない標準設定が表示されます。 inlne()コマンドを使用する場合、どのボタンを許可するかを設定できます。 –

+0

しかし、あなたが始めるために! contenteditable = "true"に設定する必要があります。あなたがそれをしないと、テキストは編集できず、ボタンはアクティブになりません。私には分かります。私はあなたのボタンセットが機能しない理由をチェックします。 – spons

2

contenteditable="true"に設定してもこの問題が発生した場合は、Chromeでcontent(要素)(または親要素)が表示されていない場合、contenteditableがfalseに設定されているという問題があります。

参照:http://ckeditor.com/forums/CKEditor/Solved-Chrome-Toolbar-buttons-grayed-out-for-INLINE-editor

溶液はCKEDITOR.inline()を呼び出す前には、a)要素が可視であることを確認することであるまたはb)の代わりのcontentEditable要素のTEXTAREAを使用することは、(CKE)は、この場合にはTEXTAREA後のcontentEditable DIVを加算します。

1

私はちょうど同じ問題を抱えていましたが、別の問題を発見しました。親要素(または要素自体)がもともとdisplay:noneに設定されている場合、contenteditableはfalse(Chrome上)になります。

この修正は、私の仕事:

var ck = CKEDITOR.inline(element); 
ck.on('instanceReady', function(event) { 
    var editor = event.editor; 
    editor.setReadOnly(false); 
}); 

参考:https://dev.ckeditor.com/ticket/9814

0

を、私は同じ問題を抱えていたし、他の提案ソリューションのどれも働きました。

問題は、divのid属性が数字(GUID)で始まっていたことです。アルファベット文字で始まるようにidを変更すると、すべてのエディタボタンが有効になりました。

何らかの理由で、ckEditorは数字で始まるidを好きではありません。

0
$(document).ready(function(){ 
    for(var i in CKEDITOR.instances) { 
       var ck=CKEDITOR.instances[i]; 
       ck.on('instanceReady', function(ev) { 
       var editor = ev.editor; 
      editor.setReadOnly(false); 
    }); 
}}); 
関連する問題