Javascript CLEditor,将内容粘贴为主窗口中的文本功能

Javascript CLEditor,将内容粘贴为主窗口中的文本功能,javascript,cleditor,Javascript,Cleditor,我正在使用CLEditor作为我的文本编辑器。有一个“粘贴为文本”的功能,当单击按钮时,会出现一个弹出窗口,其中包含一个文本区域,用于粘贴内容,样式将被剥离 我想做的是使用相同的功能,但只要有人粘贴到主文本区域,就会自动执行此操作。我怎么触发这个 我已经创建了一个JS提琴,但无法将所有JS粘贴到其中,因此无法链接到主JS文件,以便CLEditor访问他们的网站: 谢谢你的帮助。 < P>我知道我没有回答你的实际问题,但是如果你真正的问题是用户试图从微软Office粘贴文本所产生的垃圾(例如Wor

我正在使用CLEditor作为我的文本编辑器。有一个“粘贴为文本”的功能,当单击按钮时,会出现一个弹出窗口,其中包含一个文本区域,用于粘贴内容,样式将被剥离

我想做的是使用相同的功能,但只要有人粘贴到主文本区域,就会自动执行此操作。我怎么触发这个

我已经创建了一个JS提琴,但无法将所有JS粘贴到其中,因此无法链接到主JS文件,以便CLEditor访问他们的网站:


谢谢你的帮助。

< P>我知道我没有回答你的实际问题,但是如果你真正的问题是用户试图从微软Office粘贴文本所产生的垃圾(例如Word),我建议你考虑另一种解决方案。 CLEditor本身可以在iFrame(富文本模式)和textarea(源模式)之间切换。“粘贴为文本”功能使用了一个textarea,它不支持ifself的富文本,因此它首先不允许垃圾html

但是,如果编辑器处于富格文本模式,则很难阻止用户从Word粘贴(他可以使用常规的粘贴按钮、按CTRL-V甚至使用鼠标右键上下文菜单,这些都是不同的事件,使用javascript很难截获)。所以现在损害已经造成了;编辑器中有凌乱的html。因此,在保存捕获的输入时,我没有尝试清理Word产生的垃圾,而是实现了以下检查(javascript):

if(clEditorValue && (clEditorValue.indexOf('<!--') !== -1 || clEditorValue.indexOf('mso-ansi-language') !== -1 ) ) {
  alert('Unable to process text pasted from Word, please use "Paste as text" or modify your input');
  return;
}

if(clEditorValue&&(clEditorValue.indexOf)(“粘贴到cleditor中时,编辑器从源代码中提取所有html。我最终编辑了jquery.cleditor.js,并向$doc.click(hidePopups)函数添加了一个绑定函数。我使用setTimeout来允许文本填充输入,并完成updateTextArea函数

    .bind("paste", function() {
            setTimeout(function() {
                refreshButtons(editor);
                updateTextArea(editor, true);
                //remove any and all html from the paste action
                setTimeout(function() {
                    //clean up the html with removeHtml function
                    $(editor.doc.body).html(removeHtml($(editor.doc.body).html()));

                    //change the input value with new clean string
                    $("#" + editor.$area[0].id).val($(editor.doc.body).html());
                }, 100);
            }, 100);
        })
我使用下面的removeHtml函数删除粘贴内容中的所有HTML

//remove html altogether
function removeHtml(str) {
    var regex = /(<([^>]+)>)/ig;
    var result = str.replace(regex, "");
    return result;
}
//完全删除html
函数removeHtml(str){
var regex=/(]+>)/ig;
var result=str.replace(regex,“”);
返回结果;
}
该解决方案目前正在生产中