注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php 王建

php之路

 
 
 

日志

 
 

覆盖默认的ctrl+v和右键粘贴事件的实现  

2011-06-30 20:53:55|  分类: html类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我用的kindeditor版本是3.5.4,客户的需求是希望在编辑器的窗口内执行ctrl+v或者右键粘贴的时候,要把多余的HTML等代码过滤掉,只保留文本,相当于"粘贴为无格式文本"控件所做的那样.摸索了几天,终于实现了.实现方式如下:

1、注释掉kindeditor.js文件的205行

//this.add(newElement, 'paste', handler, id);

 

2、在kindeditor.js中的KE.create函数结束前(即2968行),加上下面的代码

        function pasteHandler(e){

         e.returnValue=false;

         KE.event.stop(e);

         KE.plugin['plainpaste'].click(id);

        };

        var newElement = (iframeDoc.nodeName == '#document') ? iframeDoc.body : iframeDoc;

        KE.event.add(newElement, 'paste', pasteHandler, id);

 

说明:pasteHandler函数是ctrl+v或者右键粘贴的时候执行的方法,这里为了浏览器的通用性,调用了"粘贴为无格式文本"控件的函数。如果不需要考虑浏览器的通用性的话,可以在pasteHandler里直接和剪切贴交互,类似于下面这样的代码(需经过修改后才可用)。

function pasteHandler(e){

    e.returnValue=false;

    KE.event.stop(e);

    var html = window.clipboardData.getData();

    html = KE.util.escape(html);

    html = html.replace(/ /g, ' ');

    html = html.replace(/\r\n|\n|\r/g, "$&");

    KE.util.insertHtml(id, html);

    KE.util.focus(id);         

};


  评论这张
 
阅读(139)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018