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

将文本插入到光标所在位置的textarea中(JavaScript)

将文本插入到光标所在位置的textarea中(JavaScript)

largeQ 2019-11-26 11:19:18
我想创建一个简单的函数,将文本添加到用户光标位置的文本区域。它必须是一个干净的功能。只是基础。我可以找出其余的。
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

function insertAtCursor(myField, myValue) {

    //IE support

    if (document.selection) {

        myField.focus();

        sel = document.selection.createRange();

        sel.text = myValue;

    }

    //MOZILLA and others

    else if (myField.selectionStart || myField.selectionStart == '0') {

        var startPos = myField.selectionStart;

        var endPos = myField.selectionEnd;

        myField.value = myField.value.substring(0, startPos)

            + myValue

            + myField.value.substring(endPos, myField.value.length);

    } else {

        myField.value += myValue;

    }

}


查看完整回答
反对 回复 2019-11-26
?
www说

TA贡献1775条经验 获得超8个赞

为了适当的Javascript


HTMLTextAreaElement.prototype.insertAtCaret = function (text) {

  text = text || '';

  if (document.selection) {

    // IE

    this.focus();

    var sel = document.selection.createRange();

    sel.text = text;

  } else if (this.selectionStart || this.selectionStart === 0) {

    // Others

    var startPos = this.selectionStart;

    var endPos = this.selectionEnd;

    this.value = this.value.substring(0, startPos) +

      text +

      this.value.substring(endPos, this.value.length);

    this.selectionStart = startPos + text.length;

    this.selectionEnd = startPos + text.length;

  } else {

    this.value += text;

  }

};


查看完整回答
反对 回复 2019-11-26
  • 3 回答
  • 0 关注
  • 646 浏览
慕课专栏
更多

添加回答

举报

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