一尘不染

使用jQuery在输入框中选择字符串的一部分

javascript

我试图弄清楚如何使用jQuery在输入框中仅突出显示文本的一部分。突出显示输入框的全部内容非常简单,但是如何仅突出显示一个单词或几个字母呢?

谢谢!


阅读 399

收藏
2020-05-01

共1个答案

一尘不染

对于文本<input>元素,将执行以下操作。该示例在输入中仅选择单词“ two”:

function setInputSelection(input, startPos, endPos) {

    input.focus();

    if (typeof input.selectionStart != "undefined") {

        input.selectionStart = startPos;

        input.selectionEnd = endPos;

    } else if (document.selection && document.selection.createRange) {

        // IE branch

        input.select();

        var range = document.selection.createRange();

        range.collapse(true);

        range.moveEnd("character", endPos);

        range.moveStart("character", startPos);

        range.select();

    }

}



document.getElementById("setSelection").onmousedown = function() {

    var input = document.getElementById("i");

    setInputSelection(input, 4, 7);

    return false;

};


<input id="i" type="text" value="One two three">

<input type="button" value="Set selection" id="setSelection">
2020-05-01