防止删除ckeditor 4.3中的选定文本
Preventing selected text in ckeditor 4.3 from getting deleted
我想为CK Editor 4.3制作一个插件,防止任何用户删除所选文本。我已经将所选文本包含在span标记中,并将其contentEditable属性设置为false,并禁用所有键。如果所选文本位于不可编辑的span标记上,它适用于IE 8,但不适用于IE 10。代码如下所示
CKEDITOR.plugins.add('disableelement',
{
init: function(editor)
{
editor.addCommand('insertDisableelement',
{
exec : function( editor )
{
var mySelection = editor.getSelection();
var selectedText = null;
if (CKEDITOR.env.ie)
{
selectedText = mySelection.getNative().createRange().text + " ";
}
else
{
selectedText = mySelection.getNative();
}
var e = new CKEDITOR.dom.element('span');
e.setStyle('background-color', '#81F7F3');
e.setAttributes({
contentEditable :'false'
});
e.setText(selectedText);
editor.insertElement(e);
editor.insertHtml("");
}
}); // end of addCommand
editor.ui.addButton('Disableelement',
{
label: 'Disable element',
command: 'insertDisableelement',
icon: this.path + 'images/disable1.png'
});
CKEDITOR.on('instanceReady', function(editorEvent)
{
editorEvent.editor.on('key', function(keyEvent)
{
var node = keyEvent.editor.getSelection().getStartElement();
if (node.getAttribute('contentEditable') == 'false')
{
alert("key event=" + keyEvent);
keyEvent.cancel();
}
});
}); // end of instanceReady
} // end of init
}); // end of plugins.add
请帮我实现这一点。
为什么不把它放在一个小部件中,而不把它作为一个可编辑字段?
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何动态添加和删除多个类名的文本
- jQuery从标签中删除括号/文本
- 单击文本时删除文本框的默认数据
- 添加/删除/更改输入文本的部分值
- 在显示/隐藏中单击时删除的文本
- 单击时从表单中删除特定文本
- 使用VBScript或Javascript从文本框(文本区域)中删除最后一行空/空行
- 使用删除文本创建新行
- Wordpress TinyMCE在从文本切换到视觉时,如果锚标记包裹块元素,则会删除锚标记
- 为什么jQuery正在删除文本的最后一个字符
- 如何删除特定文本短语的所有实例
- 通过点击文本区域添加和删除多个标签
- 隐藏<标签>abc标签>之间的文本 - 删除“ ABC”
- JavaScript 拆分字符串 选定的文本删除
- jQuery淡入/淡出替换文本删除链接
- 遍历元素列表并根据内部文本删除元素上的游标样式
- 将逗号后的文本删除到行尾
- 需要有关jQuery条件的帮助,该条件基于匹配的文本删除容器元素