Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery keyup仅用于影响textarea内容的键_Javascript_Jquery - Fatal编程技术网

Javascript jQuery keyup仅用于影响textarea内容的键

Javascript jQuery keyup仅用于影响textarea内容的键,javascript,jquery,Javascript,Jquery,如何使用jQuery检测textarea的值是否更改?我目前正在使用keyup(),但这会触发每一次按键。当然,如果是按过的箭头键或任何其他键对textarea的值没有影响,我不希望代码运行 看一看: $('textarea').keyup(function() { if (content was changed) // Do something }); 我希望你能理解。我怎样才能做到最好?我不想将当前值与旧值进行比较以检查更改,我希望这不是唯一的方法。无论如何,最

如何使用jQuery检测textarea的值是否更改?我目前正在使用keyup(),但这会触发每一次按键。当然,如果是按过的箭头键或任何其他键对textarea的值没有影响,我不希望代码运行

看一看:

$('textarea').keyup(function() {
     if (content was changed)
         // Do something
});

我希望你能理解。我怎样才能做到最好?我不想将当前值与旧值进行比较以检查更改,我希望这不是唯一的方法。

无论如何,最简单的方法是将旧值存储到数据中,并每隔
键执行一次检查。这个解决方案很短,在任何情况下都能奏效。不需要重新发明轮子

$("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);
    }
});
演示:

这是你想要的吗

$('textarea').blur(function() {
  //This will be invoked when the focus is removed
});

$('textarea').change(function() {
  //Same as the blur
});