0

keydown イベントの外部で更新されるテキストエリアを持っていた場合、それは私のオブザーバブルを再バインドしていません。

オブザーバブルではなくmodel.WrittenContent.valueHasMutated()テキストエリアをリフレッシュする呼び出しを試みました。

私は現在、これを行うためのハックであると認識しているものを使用していますが、この方法で行うことは好まない...

model.WrittenContent($('#my-input').val());

テキストエリアの値を再評価するノックアウトを取得できますか?

4

1 に答える 1

1

問題は、テキストエリアを更新するために何をしても、バインディングがリッスンしているイベントをテキストエリアが発行しないため、Knockout は監視対象を更新する必要があることを知る方法がないことです。

おそらくあなたができる最善のことは次のようなものです

$('#my-input').change();

パラメータが(デフォルトで)に設定されchangeていると仮定して、バインディングが認識できるイベントを生成する必要があります。ところで、これは、set を使用して非フォーム要素にバインドしている場合に行う必要があることでもあります。これらの要素はそれ自体ではイベントを生成しないためです。valueUpdatechangecontenteditablechange

于 2013-11-14T00:16:21.110 に答える