javascript – CKEditor:应用removeFormat粘贴

前端之家收集整理的这篇文章主要介绍了javascript – CKEditor:应用removeFormat粘贴前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经成功地设置了一个粘贴事件来捕获粘贴到文本区域中的 HTML.

我需要在粘贴到文本区域之前或粘贴到文本区域时自动将该HTMLFormat命令应用于该HTML,以便我可以剥离类,各种标签和其他属性.有人可以指出我正确的方向正确应用removeFormat命令吗?

这是我的代码到目前为止

$(function(){
        $('textarea').ckeditor(
            function( textarea ){
                var editor = this;
                editor.on('paste',function( e ) { 
                    //alert(e.data.html); // This shows the HTML
                    editor.execCommand( 'removeFormat',e.data.html ); // Doesn't seem to do anything,HTML is pasted with the attributes intact
                    });              
            }
        )
    });

谢谢!

附:强制纯文本选项是不可行的,因为我希望保留一些HTML元素(p,表和其他).

解决方法

您可以选择内容,然后才能将removeFormat应用到它.

您可以尝试抓取范围(即使只是光标位于插入点),并在粘贴之前保存书签.

粘贴后,使用书签再次选择该范围.

这应该选择您在范围的开始和结束之间粘贴的所有内容.

然后可以使用removeFormat:

editor.execCommand( 'removeFormat',editor.selection );

以下是范围和选择API页面链接

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.range.html

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.selection.html

我发现使用范围更容易,createBookmark方法是好的,因为它设置标记,即使DOM更改(就像在粘贴到新内容中一样),您可以获取正确的开始和结束点.粘贴后可以使用moveToBookmark()来选择范围.

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.range.html#createBookmark

因为文档稀少,所以我发现在调用方法的地方搜索代码是有帮助的.看看它们是如何使用的,让我更好地了解我需要应用这些方法的对象.

好吧,乔

原文链接:https://www.f2er.com/js/152839.html

猜你在找的JavaScript相关文章