每当使用 keyup 更改内容可编辑的 div 时,我都会尝试触发一个事件。不幸的是,它也捕捉到了用箭头键移动插入符号之类的东西。我只希望它发现实际的变化。
我读了这个问题,看起来很相似,但是那里的解决方案不适用于换行符之类的东西。想法?
一种方法是在处理程序之外缓存长度,然后将 textarea 的当前长度与缓存长度进行比较。如果它们不同,那么您可以假设按下的键将内容添加到文本区域。希望这可以帮助。
var textarea = $('textarea').get(0),
length = $(textarea).val().length;
$(textarea).keyup(function() {
if($(this).val().length != length) {
//do something
//cache new length
length = $(this).val().length();
}
});