CKEDITOR:如何以编程方式测试编辑器是否处于内联模式

时间:2013-12-12 12:13:15

标签: javascript ckeditor

如果CkEditor的实例在inline mode中工作,有没有办法测试(通过javascript,之后CkEditor的实例都已准备就绪)?

2 个答案:

答案 0 :(得分:3)

使用CKEDITOR.instances.yourInstance.editable().isInline()。另请参阅official API docs

注意#1 :永远不要检查getAttribute('contenteditable') == 'true',因为如果您致电yourInstance.setReadOnly(),则断言将失败。可编辑元素在只读模式下具有contenteditable="false",但它仍然可以是内联的。

注意#2 :针对getAttribute( 'contenteditable' )的另一个原因:

// Since CKEditor 4.2 is possible to make inline instance out of <textarea>.
var editor = CKEDITOR.inline( 'article-body' );

editor.element.getName()    
>> "textarea" // In such case, editor.element refers to <textarea>.

editor.element.getAttribute( 'contenteditable' )    
>> null // Textarea (editor.element) is never contenteditable.

答案 1 :(得分:-2)

我已在http://ckeditor.com/demo#inline

调试了DEMO

并找到了这种方式。

var ckeditor_instance_el = CKEDITOR.instances['inline-sampleTitle'].element.$;
if(ckeditor_instance_el.getAttribute('contenteditable') == 'true')
    alert('IT\'S AN INLINE EDITOR!!');

试试吧。