コンテンツの編集を許可したdivタグ内でキャレット位置を取得する方法はありますか?
取得できるのであれば、キャレット位置に文字列(タグ付き)を挿入したいと考えています。
※IEで動作する方法でお願いします。IEでも「insertHTML」が使えれば良かったのですが...。
-------------------------------------
<div id="test" contenteditable="true">あいうえお</div>
はてなの回答欄の太字(B)ボタンをクリックした場合の処理を参考にしてみると良いと思う
クリックした時に呼び出される関数
http://q.hatena.ne.jp/js/answer_edit.js
function markupBold() {
var textSelection = new TextInputSelection(document.edit.body);
var text = textSelection.getText();
textSelection.setText(addSpanProperty(text, "font-weight", "bold"));
textSelection.select();
}
関連する関数を含むファイル
http://q.hatena.ne.jp/js/textinput_selection.js
This script requires prototype.js.
http://q.hatena.ne.jp/js/prototype.js
Prototype JavaScript framework, version 1.4.0_rc2
単純にならないかなーーーとは思うけど、これが現実
ご回答ありがとうございます。
教えていただきましたプログラムを参考にしてみたのですが、
「TextInputSelection is no a constructor」とエラーになってしまいました。
追記です。
selection.createRange()で解決しました。
ありがとうございました。