javascriptでテキストエリアに独自タグを挿入したいのですが、カーソルの位置を無視して文章の一番最後に挿入されてしまいます。カーソルの位置に挿入するにはどうしたらいいでしょうか?


function InsertText(domobj, text)
{
if (domobj.createTextRange && domobj.caretPos){
var caretPos = domobj.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1)
== ' ' ? text + ' ' : text;
} else if (domobj.getSelection && domobj.caretPos){
var caretPos = domobj.caretPos;
caretPos.text = caretPos.text.charat(caretPos.text.length - 1)
== ' ' ? text + ' ' : text;
} else {
domobj.value = domobj.value + text;
}
}

function CodeLinethrough(id){
var select = document.selection.createRange();
var domobj = GetElementById(id);
if(select.text == ""){
result = "[d]打ち消し文字[/d]";
InsertText(domobj, result);
}else{
select.text = "[d]" + select.text + "[/d]";
InsertText(domobj, select.text);
}
domobj.focus();
}

回答の条件
  • 1人2回まで
  • 登録:2006/08/19 20:24:00
  • 終了:2006/08/20 18:46:28

回答(2件)

id:yetanother No.1

yetanother回答回数15ベストアンサー獲得回数12006/08/20 03:05:35

ポイント35pt

http://d.hatena.ne.jp/js/textinput_selection.js

直接の答えではありませんが、上記のファイルが参考になるのではないでしょうか?

この「この質問に答える」やはてな日記の編集画面にあるボタンが使用していると思われるスクリプトです。テキストエリア内の選択範囲を書式を変えたりリンクをつけたりできていますから、おそらくご質問の機能を備えていると思います。

id:artsnet111

他にもいろいろ調べてみましたが、どうも私の環境では無理そう(HTML側で修正が必要)なので他の手段をとります。ありがとうございました。

2006/08/20 18:45:14
id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/08/20 10:39:41

ポイント35pt

こちら、参考になりますでしょうか?

テキストフォームの中で、選択したテキストをタグで挟む。

id:artsnet111

他にもいろいろ調べてみましたが、どうも私の環境では無理そう(HTML側で修正が必要)なので他の手段をとります。ありがとうございました。

2006/08/20 18:45:17

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません