问题描述
|
每当尝试使用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();
}
});