0

ddSlick(画像ベースのドロップダウンリストjQueryプラグイン)のカスタムバインディングハンドラーを正しく機能させることができないようです。

静的データにバインドすることはいつでもできますが、何らかの理由で、ddSlickが初期化されると、KOはバインダーのupdateメソッドを呼び出しません。クレイジーです!カスタムバインダーから$(element).ddslick()呼び出しを実際に削除すると、もう一度updateメソッドが呼び出されます!!

このリンク(デバッグが簡単)のいずれかを使用して、コードを自由にテストしてくださいhttp://mjf.me/Dev/ddSlickBinder.html

またはこのJSフィドル http://jsfiddle.net/farina/JSTUA/1/

前もって感謝します!

4

1 に答える 1

4

http://jsfiddle.net/amtiskaw/nEVsP/

実はここでいくつかの問題がありました。まず、ddslick プラグインは、それが呼び出された要素を置き換えます。Knockout は div が削除されたことを検出し、登録されたバインディングをクリーンアップします。そのため、slickIt の更新が 2 回以上呼び出されなかったのはこのためです。子 div を追加し、代わりにプラグインを呼び出すことでこれを解決しました。

2 つ目は、同じ要素でそれを初期化しようとする後続の試行を ddslick が無視することです。既存の ddslick インスタンスを削除するために、事前に「destroy」を呼び出すことでこれを解決しました。

于 2012-09-13T04:56:05.560 に答える