JS / jQuery execcommandの問題
-
25-10-2019 - |
質問
私はexeccommandで問題を抱えています(完全に)ので、あなたは大いに感謝します - 私は間違いなく間違った木をbarえているのですが.....とにかく....
私はこのようなdivを持っています
<div class="editable" id="editor" contenteditable="true">
<2>Some text in here</h2> blah blah blah ...
</div>
それは「編集可能」です document.designMode = 'on';
- これは、この「状態」をフォーカスにします。ぼやけて変化します document.designMode = 'off';
「テストボタン」があります
<input type="button" id="bold" value="Bold">
「クリック」が「強調表示されたテキスト」が太字になると、execcommand
これまでのところ、私はこのようなものを持っています:
function getSelected() {
if(window.getSelection) { return window.getSelection(); }
else if(document.getSelection) { return document.getSelection(); }
else {
var selection = document.selection && document.selection.createRange();
if(selection.text) { return selection.text; }
return false;
}
return false;
}
$('#bold').click(function(){
var selection = getSelected();
alert(selection);
});
アラート(太字のクリック)は、ハイライト/選択されたテキストを私に与えてくれますが、私はそれを「それを回す」方法を解決することはできません。 innerhtmlか何かにアクセスする必要があると思いますか?
大いに感謝します - 事前に感謝します。ああ、私はiフレームまたはテキストアレアのいずれかを使いたくありません
解決
使用することを強くお勧めします ランジー テキスト選択を扱うため。
クロスブラウザーJavaScriptの範囲と選択ライブラリ。すべての主要なブラウザで共通のDOM範囲と選択タスクを実行するためのシンプルな標準ベースのAPIを提供し、インターネットエクスプローラーとDOMに準拠したブラウザの間のこの機能の非常に異なる実装を抽象化します。
使用できます CSSクラスApplierモジュール テキストを太字にする(ライブデモ).
所属していません StackOverflow