在<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