如何在文本輸入值更改後立即更新視圖模型knockout.js?問題是僅當字段鬆散焦點時纔會觸發更新。在文本框值更改後立即更新knockout.js視圖模型
「afterkeydown」是最好的選擇,如果你想 讓您的視圖模型實時更新。
我沒有覺得這有幫助。在我的系統中,我有稱爲用戶令牌的字段。因此用戶經常使用鼠標粘貼令牌。
那麼如何讓knockout.js立即爲文本字段中的每個文本更改更新模型。
如何在文本輸入值更改後立即更新視圖模型knockout.js?問題是僅當字段鬆散焦點時纔會觸發更新。在文本框值更改後立即更新knockout.js視圖模型
「afterkeydown」是最好的選擇,如果你想 讓您的視圖模型實時更新。
我沒有覺得這有幫助。在我的系統中,我有稱爲用戶令牌的字段。因此用戶經常使用鼠標粘貼令牌。
那麼如何讓knockout.js立即爲文本字段中的每個文本更改更新模型。
至少,它將不得不專注爲了讓他們粘貼令牌的權利?所以也許有一個焦點事件處理程序作爲備份運行。
否則總是有變化。
這裏是關於在knockout.js中使用onchange的SO帖子,因爲我個人從未使用它自己。 KnockoutJS - Updating ViewModel OnChange of textbox value instead of OnBlur Options
或者我想技術上答案是使用值綁定。 – thescientist
正如你在你的問題中提到的那樣,這是由valueUpdate
binding控制的。如果您只需要支持「現代瀏覽器」,則推薦使用input
。 「非現代瀏覽器」基本上意味着IE8及更早版本。從文檔:
[所有
valueUpdate
]選項中,input
是,如果你想保持你的 視圖模型實時更新的最佳選擇,而你只需要支持 合理的現代瀏覽器如IE 9+(而「afterkeydown」是 適合舊版瀏覽器的不錯選擇)。例如:
<p>Your value: <input data-bind="value: someValue, valueUpdate: 'input'" /></p>
<p>You have typed: <span data-bind="text: someValue"></span></p> <!-- updates in real-time -->
<script type="text/javascript">
var viewModel = {
someValue: ko.observable("edit me")
};
</script>
起碼,它必須得到關注,以便它們貼在右邊的令牌?所以也許有一個焦點事件處理程序作爲備份運行。或者總是隻有onchange – thescientist
同意,一旦粘貼和標籤出/失去焦點onchange或使用jquerys change()函數將比檢查每個鍵入 – user1166905
我會把它作爲一個答案。 – thescientist