繁体   English   中英

jQuery在内容可编辑的div中输入粘贴

[英]jquery on input paste in contenteditable div

我的html页面中有一个contenteditable div作为textarea:

<div id="txt" contenteditable="true"></div>

我通过jQuery“输入粘贴”检测到用户的输入

$('#txt').on('input paste',function(event){
    alert("ok"); 
});

它在chrome中工作正常,但在IE中不起作用。 谁能告诉我发生了什么事? 谢谢~~

IE浏览器返回event.type作为paste

$('#txt').on('input paste',function(event){
   if(event.type=='paste' || event.type=='input'){
       alert("ok"); 
   }  
});

编辑。 由于某种原因,我只测试了粘贴。

$('#txt').on('keyup paste',function(event){
   alert("ok"); 
});

我认为这是特定于IE的问题。 替代解决方案是使用焦点,抠像事件和模糊事件。 您可以比较新旧文本,以查看文本中是否存在更改。

刚发现一个SO线程,给定答案与我的答案对齐; 以及指向原始SO线程的链接。

$('#txt').on('focus', function() {
  before = $(this).html();
}).on('blur keyup paste', function() { 
  if (before != $(this).html()) { $(this).trigger('change'); }
});

$('#txt').on('change', function() {alert('changed')});

SO线程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM