为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MYYA 2023-05-19 16:05:04
这里我有一个input带有一些按钮的按钮,可以在其中输入文本;<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>我想让这些按钮 entera和光标闪烁的地方,b而c不是整个文本的后面。需要什么脚本来实现这个?
查看完整描述

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>



查看完整回答
反对 回复 2023-05-19
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信