在<textarea>
的值被更改之前,我正在执行将文本添加到<textarea>
时我想要运行的keydown处理程序。我希望在添加文本后运行我的处理程序。
这是我的JSFiddle。
我不想通过setInterval()
延迟功能或使用keyup监听器。
答案 0 :(得分:3)
有点hacky,但如果你必须: Live demo (click).
$("textarea").keydown(function(){
setTimeout(function() {
console.log($('textarea').val());
},0);
});
直到keydown事件触发后才会设置textarea的值,因此keyup
更可取。如果你想使用keydown
,我认为唯一的解决方案是使用0
时间setTimeout()
抛出调用堆栈,以便在值为{0}之后触发其余代码注册