Javascript 通过单击光标所在位置的按钮将文本输入到文本输入中

Javascript 通过单击光标所在位置的按钮将文本输入到文本输入中,javascript,html,Javascript,Html,这里我有一个输入,带有一些按钮,可以将文本输入其中 <input id="input"/> <button onclick="enter('a')">a</button> <button onclick="enter('b')">b</button> <button onclick="enter('c')">c</button> &

这里我有一个
输入
,带有一些按钮,可以将文本输入其中

<input id="input"/>
<button onclick="enter('a')">a</button>
<button onclick="enter('b')">b</button>
<button onclick="enter('c')">c</button>

<script>
function enter(character){
document.getElementById("input").value+=character;
document.getElementById("input").focus();
}
</script>

A.
B
C
函数输入(字符){
document.getElementById(“输入”).value+=字符;
document.getElementById(“输入”).focus();
}
我想让这些按钮在光标闪烁的位置输入
a
b
c
,而不是在整个文本的后面。需要什么脚本来实现这一点


运行此代码段;以下是您需要的全部代码:

函数insertcaret(区域ID,文本){
var txtarea=document.getElementById(areaId);
如果(!txtarea){
返回;
}
var scrollPos=txtarea.scrollTop;
var-strPos=0;
var br=((txtarea.selectionStart | | txtarea.selectionStart=='0')?
“ff”:(document.selection?:即:false));
如果(br==“ie”){
txtarea.focus();
var range=document.selection.createRange();
range.moveStart('character',-txtarea.value.length);
strPos=range.text.length;
}否则如果(br==“ff”){
strPos=txtarea.selectionStart;
}
var front=(txtarea.value).substring(0,strPos);
var back=(txtarea.value).substring(strPos,txtarea.value.length);
txtarea.value=前面+文本+后面;
strPos=strPos+text.length;
如果(br==“ie”){
txtarea.focus();
var ieRange=document.selection.createRange();
iRange.moveStart('character',-txtarea.value.length);
iRange.moveStart('character',strPos);
iRange.moveEnd('character',0);
ieRange.select();
}否则如果(br==“ff”){
txtarea.selectionStart=strPos;
txtarea.selectionEnd=strPos;
txtarea.focus();
}
txtarea.scrollpop=scrollPos;
}

A.
B

c
好的,所以你一次只想输入一个字母。@DipankarMaikap好的,一次点击一个按钮只输入一个字母,所以是的,尽管
a
b
c
只是示例文本。可能是有帮助的,可能是