如何使用jQuery检测textarea的值是否发生了变化?我当前正在使用keyup()但是这会触发每个键击当然,如果它是按下的箭头键或任何其他对textarea值没有影响的键,我不希望我的代码运行.
看一看:
$('textarea').keyup(function() {
if (content was changed)
// Do something
});
Run Code Online (Sandbox Code Playgroud)
我希望你明白.我怎么能以最好的方式做到这一点?我不想将当前值与旧值进行比较以检查更改,我希望这不是唯一的方法.
无论如何,最简单的方法是将旧值存储到数据中并进行每次检查keyup.解决方案很短,无论如何都可以使用.无需重新发明轮子.
$("textarea").data("oldValue", function() {
return this.value;
}).keyup(function() {
var $this = $(this);
if (this.value !== $this.data("oldValue")) {
// Do something
$this.data("oldValue", this.value);
}
});
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/vvbSj/