从内容可编辑div中获取已删除的字符

我正在使用content editable div因为我想在文本区域中显示用户选择的表情符号。

我想知道用backspacedeletedeleted了哪个character

是否可以用jqueryjavascript知道字符?

UPDATE

这完全不重复,因为所有答案都是关于如何跟踪按下的键而不是被选中的字符。

我没有干净的解决方案。 但是,如果您按下退格键,则会显示已删除的char:

 var lastText = $('#editable').text(); $('#editable').keyup(function(event){ if (event.which==8 || event.which==46) { var newText = $(this).text(); for (var i=0; i 

示范

您可以使用preventDefault()函数来执行您想要的操作。

这是一个使用的示例,但它应该扩展到任何元素:

http://jsfiddle.net/4dThe/

 $('#txtArea').keydown(function(e) { if (e.which == 8) { var value = $(this).val(); var lastchar = value.substring(value.length - 1); alert("Last character is: " + lastchar); $(this).val(value.substring(0, value.length - 1)); e.preventDefault(); } }); 

preventDefault()方法阻止退格操作,因此不会删除最后一个字符。 然后,您可以查看最后一个字符是什么,并自己执行退格操作。

您需要更改上面的示例以检测当前光标位置以删除正确的字符,但这是一个开始。