4

私はこの素晴らしいエディターを使用していますが、コンテンツをノックアウトにバインドする方法がわかりません:

http://imperavi.com/redactor/

4

4 に答える 4

0

私は、knockoutjs と redactorjs を互いに独立して使用できるようにする必要があるという考えが気に入っています。redactorjs がテキストエリアを更新すると、knockoutjs が引き継ぎ、バインディングを通じてモデルを更新する必要があります。

私が見つけたのは、テキストエリアが変更されたときに redactorjs が変更イベントを伝播していないことです。これを解決するために、手動で追加しました:

$('textarea').each(function() {
  var textareaEl = $(this);
  textareaEl.redactor({
    blurCallback: function() {
      textareaEl.change();
    }
  });
});

これは changeCallback がすべての主要なイベントでもトリガーされるように見えるため、ここには改善の余地があります。 ただし、このソリューションは機能し、redactorjs がノックアウト js アプリの依存関係になることはありません (または redactor のバージョンが変更されたときに壊れます)。

編集: redactorjs のソースで文書化されていない blurCallback を見つけました。keyUp でトリガーされるように見える changeCallback の使用を置き換えました。

于 2015-09-29T18:48:53.420 に答える