選択範囲を文字列で置き換える
フォーム上の入力欄(textarea)で、選択範囲を指定文字列と置き換える処理。
/** * @param Element field 対象textareaフィールド(getElementById等で取得) * @param string str 差し込む文字列 */ function insertString (field, str) { if (field.selectionStart) { var position = field.selectionStart; field.value = field.value.substr(0, position) + str + field.value.substr(field.selectionEnd, field.value.length); field.selectionStart = position + str.length; field.selectionEnd = field.selectionStart; } else { // IE対応 field.focus(); field.document.selection.createRange().text = str; // field.value += str; } }
最近JavaScriptのネタばっかりだな。
実はもうひとつネタがあるのだが、こちらは仕込みに若干時間を要するので、この週末にでも。
7/10 16:55 追記: 誤りを発見。一部修正。