1 回答

TA貢獻1841條經驗 獲得超3個贊
運行這段代碼;這是您需要的所有代碼:
function insertAtCaret(areaId, text) {
? var txtarea = document.getElementById(areaId);
? if (!txtarea) {
? ? return;
? }
? var scrollPos = txtarea.scrollTop;
? var strPos = 0;
? var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
? ? "ff" : (document.selection ? "ie" : false));
? if (br == "ie") {
? ? txtarea.focus();
? ? var range = document.selection.createRange();
? ? range.moveStart('character', -txtarea.value.length);
? ? strPos = range.text.length;
? } else if (br == "ff") {
? ? strPos = txtarea.selectionStart;
? }
? var front = (txtarea.value).substring(0, strPos);
? var back = (txtarea.value).substring(strPos, txtarea.value.length);
? txtarea.value = front + text + back;
? strPos = strPos + text.length;
? if (br == "ie") {
? ? txtarea.focus();
? ? var ieRange = document.selection.createRange();
? ? ieRange.moveStart('character', -txtarea.value.length);
? ? ieRange.moveStart('character', strPos);
? ? ieRange.moveEnd('character', 0);
? ? ieRange.select();
? } else if (br == "ff") {
? ? txtarea.selectionStart = strPos;
? ? txtarea.selectionEnd = strPos;
? ? txtarea.focus();
? }
? txtarea.scrollTop = scrollPos;
}
<input id="textareaid" />
<button onclick="insertAtCaret('textareaid', 'a');return false;">a</button>
<button onclick="insertAtCaret('textareaid', 'b');return false;">b</button>
<button onclick="insertAtCaret('textareaid', 'c');return false;">c</button>
添加回答
舉報