ノックアウト v2.3.0 の使用:
「with: modelName」を使用してモデルにバインドするセクションがあります。
そのセクションでは、数値インクリメンターを作成しました。
- マイナスが付いた灰色のボタン
- 値を示す入力フィールド、
- プラスが付いた灰色のボタン
基本的に、ご想像のとおり、マイナスをクリックするとカウンターが減少し、プラスをクリックすると増加します。
IE8 (おそらく IE7 も) を除くすべてのブラウザーで完全に動作します。
IE8 では、クリア キャッシュで正常に動作します。ただし、ページを更新すると、最初のボタンが機能しなくなります。基本的に、後続のページの読み込みでは、そのフィールドにクリック バインディングはまったくありません。
最初は、各ボタンに同じ機能を使用させ、別の文字列を渡すようにしていました:「下」と「上」。しかし、何らかの理由でIEはこれを処理できないと思いました。
そこで、decrementChildCount() と incrementChildCount() という個別の関数を作成しました。
しかし、同じことが起こります。IE8 は、クリアされたキャッシュからページをロードする際に問題ありません。ただし、その後のページの読み込みでは、クリック バインディングが失われます (最初のボタンのみ)。
元のマークアップのすぐ上にクリーン バージョンのマークアップを追加したときに、もう 1 つ見つけたことがあります (そのため、2 セットのボタン フィールド ボタン グループが必要になります)。
これで、最初のボタンのクリック バインドが失われますが、セクションの最初のボタンではないため、元のマイナス ボタンも含め、他のすべてのボタンは正常に動作します。そのマイナス ボタンは、後続のページの読み込みで正常に機能するようになりました。
これどうしたの?最初のクリック バインド ボタンが、その後のページ読み込みでクリック バインドを失うのはなぜですか?
そして、これを解決するために、「実際の」最初のボタンを機能させるためだけに、ダミーのクリックバインドボタンを非表示にしたくありません....
-- スコット