Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在tinyMCE中,将格式应用于非标签区域_Javascript_Tinymce_Tinymce 4 - Fatal编程技术网

Javascript 在tinyMCE中,将格式应用于非标签区域

Javascript 在tinyMCE中,将格式应用于非标签区域,javascript,tinymce,tinymce-4,Javascript,Tinymce,Tinymce 4,我将tinyMCE与“不可编辑”插件一起使用 当我在tinyMCE编辑器中标记一些包含不可编辑区域的文本,然后将某些格式应用于此选择时,该格式将不会应用于 不可编辑的片段 例如: 我选择: 开始文本不可编辑区域结束文本 我想大胆一点,结果是: <strong>start Text  </strong><span class="mceNonEditable" data-mce-contenteditable="false">not editable area&l

我将tinyMCE与“不可编辑”插件一起使用

当我在tinyMCE编辑器中标记一些包含不可编辑区域的文本,然后将某些格式应用于此选择时,该格式将不会应用于 不可编辑的片段

例如:

我选择:

开始文本不可编辑区域结束文本

我想大胆一点,结果是:

<strong>start Text  </strong><span class="mceNonEditable" data-mce-contenteditable="false">not editable area</span><strong> end text</strong>
开始文本不可编辑区域结束文本
我所期望和需要的是:

<strong>start Text  <span class="mceNonEditable" data-mce-contenteditable="false">not editable area</span> end text</strong>
开始文本不可编辑区域结束文本
我能做些什么,把不可编辑的片段也格式化


(我使用tinyMCE 4.1.10)

tinyMCE论坛中的worakaround是用来操纵文件的: /tinymce/classes/Formatter.js

在函数中:

function applyRngStyle(rng, bookmark, node_specific)
{

....
                        // Is it valid to wrap this item
                        // TODO: Break this if up, too complex
                        if (contentEditable && !hasContentEditableState && isValid(wrapName, nodeName) && isValid(parentName, wrapName) &&
                                !(!node_specific && node.nodeType === 3 &&
                                node.nodeValue.length === 1 &&
                                node.nodeValue.charCodeAt(0) === 65279) &&
                                !isCaretNode(node) &&
                                (!format.inline || !isBlock(node))) {
                            // Start wrapping
.....

}
我不得不取消对“contentEditable&!hasContentEditableState的注释


tinymce论坛中的worakaround操作文件: /tinymce/classes/Formatter.js

在函数中:

function applyRngStyle(rng, bookmark, node_specific)
{

....
                        // Is it valid to wrap this item
                        // TODO: Break this if up, too complex
                        if (contentEditable && !hasContentEditableState && isValid(wrapName, nodeName) && isValid(parentName, wrapName) &&
                                !(!node_specific && node.nodeType === 3 &&
                                node.nodeValue.length === 1 &&
                                node.nodeValue.charCodeAt(0) === 65279) &&
                                !isCaretNode(node) &&
                                (!format.inline || !isBlock(node))) {
                            // Start wrapping
.....

}
我不得不取消对“contentEditable&!hasContentEditableState的注释


我知道这是一个有点老的问题,但仍然作为该问题的第一个搜索结果之一突然出现…
我们的团队也面临同样的问题,
我们通过下拉选择将不可编辑的文本添加到内容中 当我们在编辑器中选择文本范围并尝试格式化if时,不可编辑的元素被忽略
我通过将不可编辑的内容(span元素)包装为另一个可编辑的span来解决这个问题,
现在,当选择文本范围时,外部span将获得选定的格式,并影响内部span(不可编辑)

不可编辑文本
*外部元素必须具有tinymce的类,否则无法清除它。


我知道这是一个有点老的问题,但仍然作为该问题的第一个搜索结果之一突然出现…
我们的团队也面临同样的问题,
我们通过下拉选择将不可编辑的文本添加到内容中 当我们在编辑器中选择文本范围并尝试格式化if时,不可编辑的元素被忽略
我通过将不可编辑的内容(span元素)包装为另一个可编辑的span来解决这个问题,
现在,当选择文本范围时,外部span将获得选定的格式,并影响内部span(不可编辑)

不可编辑文本

*外部元素必须具有tinymce的类才能清除它。

使用3.5.10版本时,我面临同样的问题。我找到了一个解决方法。看这里:它也适合3.5.10版吗?谢谢Gio!它也适用于3.5.10版本。干杯我面临同样的问题,你的链接似乎不再有效。你能发布一个解决方案吗?很遗憾,这个链接已经不起作用了。我对文件/tinymce/classes/Formatter.js做了一个更改:我将把我的更改作为一个新的答案追加。我面临同样的问题,使用3.5.10版本。我找到了一个解决方法。看这里:它也适合3.5.10版吗?谢谢Gio!它也适用于3.5.10版本。干杯我面临同样的问题,你的链接似乎不再有效。你能发布一个解决方案吗?很遗憾,这个链接已经不起作用了。我对文件/tinymce/classes/Formatter.js进行了更改:我将在新的应答器工作时附加我的更改。我发现的唯一问题是,如果我随后尝试拖动该元素,则不可编辑的元素将从周围区域中拖出。我发现的唯一问题是,如果我尝试拖动该元素,则不可编辑的元素将被拖出周围的范围
<span class="someClass"><span class="mceNonEditable">Non Editable Text</span></span>