4

私は、監視可能な配列を利用してユーザー ID 情報の編集可能なテーブルを表示するアプリに取り組んでいます。このアプリは Chrome では問題なく動作しますが、Firefox で動作させるには問題があります。私の目的では、これら 2 つのブラウザーだけが、今のところ気にかけているものです。

hasfocusノックアウトのバインディングを介して「クリックして編集」機能を使用していますが、Chrome でうまく機能します。ユーザー名を選択すると編集可能になり、保存ボタンが表示され、[保存] をクリックすると、情報が JSON 文字列として投稿されます。Firefox は、投稿のプロセスが十分に進んでいないようで、フォーカスを外すと奇妙な動作をします。

かなりの量のコードがあるので、問題を示すためにこの Fiddle を用意しました。Chrome は正常に動作しますが、Firefox はそれほどではありません。

http://jsfiddle.net/stevehnh/GNssr/

助けてくれてありがとう!うまくいけば、それは私が見逃している小さなものです。

4

1 に答える 1

3

しばらくこれをいじった後、「保存」ボタンをクリックする前に、Firefox が編集フィールドからフォーカスを削除することが問題であることがわかりました。それを回避するために、ノックアウトスロットルエクステンションを使用しました。

バインディングが に更新されるthrottle前に、400 ミリ秒の待機時間を追加していました。これにより、Firefox が新しいテキストと入力フィールドの両方を同時に表示するという問題も修正されたようです。問題のある行と、以下の更新されたフィドルを貼り付けました。editingfalse

editing: ko.observable(false).extend({ throttle: 400 }),

http://jsfiddle.net/stevehnh/GNssr/2/

于 2013-01-24T17:50:36.710 に答える