在<textarea>的值已更改</textarea>之后运行keydown事件处理程序

时间:2014-01-07 05:42:25

标签: jquery

<textarea>的值被更改之前,我正在执行将文本添加到<textarea>时我想要运行的keydown处理程序。我希望在添加文本后运行我的处理程序。

这是我的JSFiddle

我不想通过setInterval()延迟功能或使用keyup监听器。

1 个答案:

答案 0 :(得分:3)

有点hacky,但如果你必须: Live demo (click).

$("textarea").keydown(function(){
    setTimeout(function() {
      console.log($('textarea').val()); 
    },0);
});

直到keydown事件触发后才会设置textarea的值,因此keyup更可取。如果你想使用keydown,我认为唯一的解决方案是使用0时间setTimeout()抛出调用堆栈,以便在值为{0}之后触发其余代码注册