KnockoutJS: ユーザーがテキスト フィールドにコピー アンド ペーストした後にビュー モデルを更新するにはどうすればよいでしょうか? 質問する

KnockoutJS: ユーザーがテキスト フィールドにコピー アンド ペーストした後にビュー モデルを更新するにはどうすればよいでしょうか? 質問する

私は、ユーザーが入力テキスト ボックスにテキストを入力すると、検索結果がテーブルに自動的に表示される Web サイト (Google インスタント検索に似ています) に取り組んでいます。

ユーザーが情報を入力すると、ノックアウトJSでビューモデルを更新するようにしました。

valueUpdate: 'afterkeydown'

ただし、データ バインド属性に追加しましたが、ユーザーが右クリックしてテキスト ボックスにテキストを貼り付けるケースも処理する必要があるため、次の操作を試しました。

valueUpdate: ['afterkeydown','mouseup']

しかし、それはうまくいかず、ビューモデルを通じてテキストボックスの値を読み取ろうとしたとき入力テキストボックスからタブで抜けるまで、古い値が表示され続けました

これを修正する方法を知っている人はいますか?

オスカー

ベストアンサー1

valueUpdate:'input' を使用できます。Opera、Firefox、Chrome で動作することをテストしました。私は Linux ボックスを使用しているため、IE ではテストできません。このフィドルをチェックしてください

更新: IE8 でテストしましたが、動作しません。ただし、次の方法を使用すると動作するようです。

valueUpdate:['afterkeydown','propertychange','input']

これについてコメントしてくれたマイケル・ベストに感謝します:) 更新しましたバイオリン

2014年10月更新: kzhが以下のコメントで述べているように、Knockout.jsの最新バージョンの1つでtextInputバインディングが追加されました。このバインディングはこのシナリオを処理し、ブラウザの癖の処理を組み込んでいます。http://knockoutjs.com/documentation/textinput-binding.html

おすすめ記事