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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要在CKEditor中的p标签中添加contentEditable = false相关的知识,希望对你有一定的参考价值。

我需要在我的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标签并为其分配此属性?

答案

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

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

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

更新:

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

以上是关于需要在CKEditor中的p标签中添加contentEditable = false的主要内容,如果未能解决你的问题,请参考以下文章

如何将“target”属性添加到ckeditor5中的`a`标签?

在 CKEditor 3.0 中关闭封闭 <p> 标签

过滤 CKEditor HTML 属性

在 div 标签中显示保存在数据库中的 ckeditor 数据

如何在 CKEditor 中定义允许的标签?

ckeditor源码编辑模式,添加stylejavascript内容丢失的解决