人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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();
}

●質問者: artsnet111
●カテゴリ:インターネット ウェブ制作
✍キーワード:Focus JavaScript SELECT エリア カーソル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● yetanother
●35ポイント

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

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

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

◎質問者からの返答

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


2 ● llusall
●35ポイント

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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ