插入文本到文本框里的光标所在位置

来自:互联网
时间:2020-03-26
阅读:
下面这段代码,是从wordpress博客插件里面剥离出来的,仅做部分修改
function insertVal(obj){
    var myField;

    //传递过来的值,即你想插入的内容,可通过自己设置
    //这里的obj为示例对象(input、select)
    tag = obj.value;

    //要插入文本框的ID
    var textBox=document.getElementById('textarea');

    /*
     * 这里的判断目的为:
     *    1、第一个为判断是否存在要插入文本框的ID;
     *    2、第二个为判断要插入的文本框类型是否为textarea,可以根据自己需要进行修改删除
     */
    if (textBox && textBox.type == 'textarea') {
        myField = textBox;
        if (document.selection) {
            myField.focus();
            sel = document.selection.createRange();
            sel.text = tag;
            myField.focus();
        } else if (myField.selectionStart || myField.selectionStart == '0') {
            var startPos = myField.selectionStart;
            var endPos = myField.selectionEnd;
            var cursorPos = endPos;
            myField.value = myField.value.substring(0, startPos) + tag + myField.value.substring(endPos, myField.value.length);
            cursorPos += tag.length;
            myField.focus();
            myField.selectionStart = cursorPos;
            myField.selectionEnd = cursorPos;
        } else {
            myField.value += tag;
            myField.focus();
        }
        //自动清空点击对象的value值
        //obj.value="";
    } else {
        return false;
    }
}
返回顶部
顶部