需要在CKEditor中的p标签中添加contentEditable = false

时间:2017-12-19 23:20:56

标签: javascript jquery ckeditor contenteditable readonly

我需要在我的CKEditor里面一些不可编辑的样板文字,然后是我的字符串信息的其余部分。我将样板文件[在p标签中]连接到我的CKEditor在某个div中显示的字符串变量。在措辞的时候,这里:

<p id='abc' contentEditable='false'>verbiage</p> 

...并且字符串信息显示在页面上,它们深入到多个嵌套标签内 - 在具有多个类的主体内。因此,现在只在没有属性[它们被剥离]的ap标签中的verbiage嵌套在原始body标签内[第一个body标签,在页面中向上]有很多很多div,然后终于来了一个iframe,然后...... verbiage和字符串是这样的:

<body contenteditable="true" class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" spellcheck="false">
<p>boilerplate verbiage</p>

...然后其余的信息显示在编辑器中,在各种范围内等。我需要使样板文件读取只读,contentEditable ='false'。然而,我在Chrome中的控制台和代码中都尝试了所有内容....没有任何改变,即样板文字

标签。我尝试了各种各样的东西,包括这些 - 也许你可以看到我需要调整的东西;我希望这会告诉你我已经尝试过的东西,到目前为止我已经没有选择了:

jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").first().contentEditable='false';
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").attr("readonly", "1");
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders p:first-child").contentEditable='false';
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").find( "p" ).contentEditable='false';
jQuery("iframe", ".cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").contents().find("p").contentEditable='false';
jQuery("iframe", "body .cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").contents().find("p").contentEditable='false';

var editor= jQuery("body", ".cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders");
editor.val(editor.val().replace(/<p>/gi, "<p class='tiny_p'>"))

var editor= jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders");
editor.val(editor.val().replace(/<p>/gi, "<p class='tiny_p'>"))

如果我在Chrome浏览器中硬编码,contenteditable =“false”, 它完美地运作。那么,我如何访问该p标签并为其分配此属性?

1 个答案:

答案 0 :(得分:0)

这实际上取决于您想要访问的时刻和方式,可以直接从单独的脚本访问。

CKEDITOR.instances[YOUR_INSTANCE].window.$.document.getElementById("your_p_tag")

请注意,应在CKEDITOR启动后进行

<强>更新

CKEDITOR.instances[YOUR_INSTANCE].window.$.document.body.firstChild