3

每当使用 keyup 更改内容可编辑的 div 时,我都会尝试触发一个事件。不幸的是,它也捕捉到了用箭头键移动插入符号之类的东西。我只希望它发现实际的变化。

我读了这个问题,看起来很相似,但是那里的解决方案不适用于换行符之类的东西。想法?

4

1 回答 1

2

一种方法是在处理程序之外缓存长度,然后将 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();
   }
});
于 2011-05-26T17:55:07.810 回答