用例:我为CKEditor构建了一个自定义缩写插件。因此,用户可以通过对话框弹出插入缩略词,也可以选择文本并将其转换为首字母缩写。在这两种情况下,我都要为一些定制样式和操作添加一个<span>。
像这样的<span class="acronym">test</span>
问题:在编辑器中,在我插入首字母缩写后。如果我使用backspace来删除,比方说我删除了关闭的</span>,然后再次开始键入。所有的东西都被添加到缩略语跨度中。
像这样的<span class="acronym">test typing something
我正在按照CKEditor创建span,所以即使我删除它,它也会添加一个关闭的</span>。所以光标停留在跨度内。
有没有办法检测和删除整个首字母缩略词span。如果,打开或关闭跨度被删除?
发布于 2014-09-26 06:56:05
我使用的逻辑:在backspace键按下,获取在游标下选择的当前元素,并检查其缩写元素是否。如果是,请删除。
$('html').keyup(function (e) {
if (e.keyCode == 8) {
var editor = CKEDITOR.instances.editable,
sel = editor.getSelection();
var ele = sel.getStartElement();
if(ele.getAttribute( 'class' ) == 'acronym'){
ele.remove();
}
}
});我不能使用CKEditor的占位符插件,正如下面的注释所解释的那样。
探索其他选择。在那之前,接受这个正确的答案。
https://stackoverflow.com/questions/26011220
复制相似问题