JSカーソルの位置にボタンで文字を挿入

javascript01

 

 HTML

<textarea id="delimiter" rows="18" name="textarea"></textarea>
<input type="hidden" id="sptext" value="<>">
<button class="ui red button" type="button" onclick="addText();">区切文字追加</button>

 

Javascript

function addText(){
	//テキストエリアと挿入する文字列を取得
	var area = document.getElementById('delimiter');
	var text = document.getElementById('sptext').value;
	//カーソルの位置を基準に前後を分割して、その間に文字列を挿入
	area.value = area.value.substr(0, area.selectionStart)
	+ text
	+ area.value.substr(area.selectionStart);
}

 

inputではなく直接指定

function addText(){
	//テキストエリアと挿入する文字列を取得
	var area = document.getElementById('delimiter');
	var text = "\n<>\n";
	//カーソルの位置を基準に前後を分割して、その間に文字列を挿入
	area.value = area.value.substr(0, area.selectionStart)
	+ text
	+ area.value.substr(area.selectionStart);
}