如何在TinyMCE中覆盖Ctrl + V

时间:2020-03-06 14:35:12  来源:igfitidea点击:

我需要清除粘贴到TinyMCE中的文本的HTML,方法是将其传递到Web服务,然后再将其返回到textarea中。
因此,我需要在TinyMCE中重写Ctrl + V来使文本加帽,执行后台请求,然后返回并继续使用TinyMCE的粘贴处理程序。
首先,TinyMCE的Ctrl + V处理程序在哪里,有没有无损的方法来覆盖它? (而不是更改源代码)

解决方案

我们可以编写一个处理ctrl + v事件的插件并将其传递或者修改粘贴插件。在plugins / paste / editor_plugin.js中可以找到以下代码,它可以处理ctrl + v事件。

handleEvent : function(e) {
          // Force paste dialog if non IE browser
          if (!tinyMCE.isRealIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false) && e.ctrlKey && e.keyCode == 86 && e.type == "keydown") {
             window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)', 1);
             return tinyMCE.cancelEvent(e);
          }

          return true;
       },

这是有关为tinyMCE创建插件的更多信息。