如何将 CKEditor 默认值设置为空白?
How to set CKEditor default value to blank?
我在我的 Rails 项目中使用 CKEditor
view
看起来像这样:
<%= cktext_area_tag "editor_name","", :style=>"width:115px; height:19px; border:#d1d1d1 1px solid; background:#cfcfcf" %>
加载时编辑器中没有内容。但是在检查 console
时我可以看到这个:
> var editor_val = CKEDITOR.instances.editor_name.document.getBody().getChild(0).getText() ;
< undefined
> editor_val
< "
"
> editor_val.length
< 1
我希望 CKEditor 默认值为空白。这怎么可能?
CKEditor 永远不会是空的,如果你考虑 DOM,而不是数据:
CKEDITOR.instances.editor.setData( '' );
CKEDITOR.instances.editor_name.editable().getText().length;
1
CKEDITOR.instances.editor_name.editable().getText().charCodeAt( 0 );
10
CKEDITOR.instances.editor_name.editable().getHtml();
"<p><br></p>"
CKEDITOR.instances.editor_name.getData().length;
0
那个"persistent"白字(10)(do not confuse with with keyCode
) is a new line,很难让人想起[=13=],它是在CKEditor中启用编辑,可能会因browser/OS而有所不同。这是 CKEditor 显示插入符号和初始折叠选择的内部起点,这意味着您不应该依赖它。
因为 obtaining CKEditor content 唯一安全的方法是:
CKEDITOR.instances.editor_name.getData();
我建议在服务器端剥离标签,或者 CKEDITOR.tools.trim()
如果您真的想遵循 editable().getText()
方式。
我在我的 Rails 项目中使用 CKEditor
view
看起来像这样:
<%= cktext_area_tag "editor_name","", :style=>"width:115px; height:19px; border:#d1d1d1 1px solid; background:#cfcfcf" %>
加载时编辑器中没有内容。但是在检查 console
时我可以看到这个:
> var editor_val = CKEDITOR.instances.editor_name.document.getBody().getChild(0).getText() ;
< undefined
> editor_val
< "
"
> editor_val.length
< 1
我希望 CKEditor 默认值为空白。这怎么可能?
CKEditor 永远不会是空的,如果你考虑 DOM,而不是数据:
CKEDITOR.instances.editor.setData( '' );
CKEDITOR.instances.editor_name.editable().getText().length;
1
CKEDITOR.instances.editor_name.editable().getText().charCodeAt( 0 );
10
CKEDITOR.instances.editor_name.editable().getHtml();
"<p><br></p>"
CKEDITOR.instances.editor_name.getData().length;
0
那个"persistent"白字(10)(do not confuse with with keyCode
) is a new line,很难让人想起[=13=],它是在CKEditor中启用编辑,可能会因browser/OS而有所不同。这是 CKEditor 显示插入符号和初始折叠选择的内部起点,这意味着您不应该依赖它。
因为 obtaining CKEditor content 唯一安全的方法是:
CKEDITOR.instances.editor_name.getData();
我建议在服务器端剥离标签,或者 CKEDITOR.tools.trim()
如果您真的想遵循 editable().getText()
方式。