jquery keyup忽略不变的字符

时间:2011-05-26 17:48:52

标签: jquery events keyboard keycode onkeyup

每当使用keyup更改contenteditable div时,我都会尝试触发事件。不幸的是,它也会像使用箭头键移动插入符号一样。我只想让它发现实际的变化。

我看了this问题,看起来很相似,但是那里的解决方案对于像linebreaks这样的东西不起作用。想法?

1 个答案:

答案 0 :(得分:2)

一种方法是在处理程序之外缓存长度,然后将textarea的当前长度与缓存长度进行比较。如果它们不同,那么您可以假设按下已添加内容到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();
   }
});