在<textarea>
的值甚至发生更改之前,正在执行将文本添加到<textarea>
中时要运行的keydown处理程序。我想在添加文本后运行我的处理程序。在<textarea>的值已更改后运行keydown事件处理程序
这是我的JSFiddle。
我不想通过setInterval()
或使用键控监听器来延迟功能。
在<textarea>
的值甚至发生更改之前,正在执行将文本添加到<textarea>
中时要运行的keydown处理程序。我想在添加文本后运行我的处理程序。在<textarea>的值已更改后运行keydown事件处理程序
这是我的JSFiddle。
我不想通过setInterval()
或使用键控监听器来延迟功能。
它有点哈克,但如果你必须:Live demo (click).
$("textarea").keydown(function(){
setTimeout(function() {
console.log($('textarea').val());
},0);
});
textarea的值将不会被设置直到keydown事件触发后,所以keyup
是优选的。如果你想使用,我认为唯一的解决方法是用0
时间setTimeout()
放弃调用堆栈,以便在注册该值后其余代码将被触发。
这就够了,但我会等待,看看在接受之前是否发布了更干净的解决方案。 – cinderblock
@cinderblock我不认为这是可以做到的,但我很容易被错误:) – m59
键控有什么问题? – SomeKittens
我发布了我正在处理的代码的简化版本。我不能在实际代码中使用keyup,原因是我不想详细说明。 – cinderblock