Knockout JSを使用して div にデータバインドしたい html マークアップのブロックがあります。これは、ノックアウトhtml
バインディングを使用すると簡単です。
私がやりたいのは、クラスに基づいて、その html マークアップ内の子要素を条件付きでバインドすることです。これらの要素はインライン要素 ( span
、a
タグなど) であるため、html マークアップ内の任意の場所に表示できます。
これの目的は、クリック イベントをこのテキスト ブロック内の特定の単語またはフレーズにデータバインドして、関数 (この場合は、ターゲットの単語またはフレーズの定義を含むモーダル) を呼び出せるようにすることです。
誰もこれを行う方法を知っていますか? 私が見る限り、探求すべき主な方法は 2 つあります。
jQueryを使用してクラスごとに要素を取得し、何らかの形でデータバインドします。これがさまざまな理由で機能するかどうかはわかりません-DOMの準備ができていない、そのメソッドでデータバインドできないなど.
ノックアウトのテンプレート バインディング
afterRender
を使用し、要素のテキスト ブロックを解析し、それに応じてデータバインドするテンプレート コールバックを追加します。上記の 2 つの組み合わせ。(ええ、私は知っています、それは 3 つの道です。)
誰かが前にこのようなことをしたことがありますか? できればアドバイスやご意見をいただきたいです。ありがとうございました!