jQuery keyup忽略不变的字符

问题描述

| 每当尝试使用keyup更改contenteditable div时,我都试图触发一个事件。不幸的是,它还捕获了诸如用箭头键移动插入符号之类的东西。我只希望它能发现实际的变化。 我读了这个问题,看起来很相似,但是那里的解决方案不适用于换行符。有想法吗?     

解决方法

一种方法是将长度缓存在处理程序外部,然后将文本区域的当前长度与缓存的长度进行比较。如果它们不同,则可以假定按下的键将内容添加到了文本区域。希望这可以帮助。
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();
   }
});
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...