今天在做一个textarea旁边有统计字数的span的功能,给textarea绑定了keypress事件
$("#desc").keypress(
function(){
alert(" 进入方法中 ");
//统计textarea字数
var count = $(this).val().length ;
var last = 300 - count ;
if(last < 0 ){
alert("备注内容长度不能超过300字");
$("#desc").focus();
return false;
}else{
//span内容改变
$("#descCount").html(last);
}
}
);
我想的是输入内容和按backspace或delete键删除内容时,事件都会触发,去更新span的字数。但是按backspace删除内容时,事件没有触发,相应的alert消息没有出现。
查了一下资料,人家说keypress不跟踪backspace,建议改为keydown,改了一下,果然是这样。
为什么keypress不跟踪backspace键呢?