Javascript 粘贴事件在可编辑内容中未按预期工作

Javascript 粘贴事件在可编辑内容中未按预期工作,javascript,jquery,events,contenteditable,Javascript,Jquery,Events,Contenteditable,当用户粘贴文本时,我试图删除contenteditable中的换行符 问题是正则表达式只在第二次粘贴内容后才起作用。我还需要keyup和keypress事件来处理示例中没有的其他事情(限制的字符计数) 我的代码怎么了 $(document).on(“keyup-keypress-paste”,“myContentEditable”,函数(e){ 如果(例如,类型==“粘贴”){ $(this.html($(this.text().replace(/[\n\r]/g,”)); } 如果(e.wh

当用户粘贴文本时,我试图删除contenteditable中的换行符

问题是正则表达式只在第二次粘贴内容后才起作用。我还需要
keyup
keypress
事件来处理示例中没有的其他事情(限制的字符计数)

我的代码怎么了

$(document).on(“keyup-keypress-paste”,“myContentEditable”,函数(e){
如果(例如,类型==“粘贴”){
$(this.html($(this.text().replace(/[\n\r]/g,”));
}
如果(e.which==13){
e、 预防默认值();
返回false;
}
});
#有内容{
边框:1px纯色浅蓝色;
}

这是可编辑的内容。删除粘贴文本的打断线仅在第二次使用时有效

尝试粘贴此文本:


这是一个非常重要的问题。在马萨的Nunc lobortis mattis aliquam faucibus purus。

问题是因为
粘贴事件在更新contenteditable div的实际HTML之前触发

您可以改为使用
input
事件来解决此问题:

$(document).on(“输入”,“myContentEditable”,函数(e){
$(this.html($(this.text().replace(/[\n\r]/g,”));
});
#有内容{
边框:1px纯色浅蓝色;
}

这是可编辑的内容。删除粘贴文本的打断线仅在第二次使用时有效

尝试粘贴此文本:

这是一个非常重要的问题。在马萨的福西布斯·普鲁斯(faucibus purus)附近,一位名叫马蒂斯·马蒂斯(mattis)的修女正在接受治疗。