繁体   English   中英

如何删除<span>退格</span>插入<span>?</span>

[英]How to delete inserted <span> on backspace?

用例:我为CKEditor构建了一个自定义的首字母缩写插件。 因此,用户可以通过对话框弹出窗口插入缩写词,也可以选择文本并将其转换为缩写词。 无论哪种情况,我都会添加<span>来进行一些自定义样式和操作。

像这样的<span class="acronym">test</span>

问题:在编辑器中插入首字母缩写词后。 如果我使用退格键删除,请说我删除结束符</span>并重新开始输入。 一切都添加到首字母缩写范围。

像这样的<span class="acronym">test typing something

我正在根据CKEditor创建跨度,因此即使删除了它,它也会添加一个结束 </span> 因此,光标停留在范围内。

有没有一种方法可以检测和删除整个缩写范围。 是否删除了开始或结束跨度?

查看Placeholder插件 它基于小部件系统 ,您可以轻松构建自己的小部件来表示首字母缩写词。

我使用的逻辑:在按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的占位符插件,如下面的评论所述。

探索其他选择。 在此之前,请接受此作为正确答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM