0

私はこのテキストエディタのプランカーの例を持っています。問題は、太字のボタンまたは他のボタンをクリックしたときにボタンに編集可能なdivの状態が表示されないことです.ngのボタンにクラスを追加すると修正される可能性があります. -mousedownイベントの機能ですが、正しいツールバーボタンにもクラスを追加する必要がある太字のテキストの領域をクリックしても問題は解決しません。おそらくウォッチャーのようなものを使用する必要がありますが、何を監視しますか?

アップデート

わかりました、掘り下げました。キャレットの位置を監視しようとしているので、テキスト エディターのツールバー ボタンに正しいスタイルを適用できます $watchers について考えましたが、使用したことはありません。
私が使用している例は、このStackOverflow の投稿からのものです。投稿には Jsfiddle がありますが、コンテンツ編集可能な div でキャレット位置を取得する方法を示す AngularJS を使用してプランカーの例を作成しました。
内部の contenteditable div の DOM ツリーを取得し、要素と位置のマップを作成し、データ バインディングを使用してツールバーのボタンの状態を制御するなど、これを行うより良い方法はありますか?
事前に感謝します。

4

1 に答える 1

1

私はこのSO投稿で答えを見つけました:

これらすべてを手動で行うのではなく、ブラウザーには、現在の選択またはキャレットが太字、斜体、またはその他のものであるかどうかを通知するメソッドがあります。document.queryCommandState()( MSDN )、太字や斜体などのバイナリ コマンドの場合、およびdocument.queryCommandValue()( MSDN ) を含むコマンドの場合フォント関連のコマンドなどの値。

于 2013-04-15T07:05:16.753 に答える