textarea
コンポーネントを実装すると、絵文字がサポートされます書く。テキストエイリアンまたはcontenteditable divの絵文字のサポート
Iは、元のテキスト濾過/生成されたHTML結果を提示しながら(アスキー文字のみ)(角度絵文字とをフィルタリング)div
にバックアップできるようにします。
私の最初の溶液は
<textarea ng-model="text" ng-change="..." ng-focus="..."></textarea>
<div ng-bind-html="text | myEmoticonsFilter"></div>
にあるが、私は隠されたテキストエリアを使用しての一部になってトラブルを抱えています。また、これで私はテキストをマウスで選択したり、削除したり、安全にコピー/ペーストすることはできません。
<div contenteditable="true">
でも考えていますが、ng-focus
とng-change
は処理されません。
これを継続する方法について誰かが渋滞していませんか?
編集1:ここでは私がやっていることを試して、jsfiddleです。これまでは、最初のオカレンスを置き換えることができましたが、それ以来、動作は不安定なままです。私は、双方向データバインディングと顔文字パターンをフィルタリングするためにcontenteditable
指示を使用しています。
編集2:ng-focus
とng-change
が処理できないだろうと言って、私の声明については、それは真実ではない - <div contenteditable="true">
上でネイティブに動作し、ng-change
は限りディレクティブはngModel
を使用して設定すると宣言されたように動作しますng-focus
適切な$modelValue
および$viewValue
(例は、の編集1に記載されています)。
質問に対する回答はありませんが、[this example](https://)で提供されているコードを使用して、変更/フォーカスイベントをcontenteditableに追加できます。 docs.angularjs.org/api/ng/type/ngModel。公式の角度のドキュメント – pasine
からのNgModelController#custom-control-example)ノードが物理的に 'contenteditable'で変更されたときに解決策が' window.getSelection'と 'Range'オブジェクトで直接干渉すると思います。 – nuno
bower依存関係https://github.com/globaldev/angular-emoji-filterこれは実際に使用したいのと同じものではありませんが、それは簡単で強力な解決策です。カスタムアイコンが必要な場合は、別の方法をとることを検討してください。 – Miha2255