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

标签 javascript jquery

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

谢谢!

最佳答案

对于文本 <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">

关于javascript - 使用 jQuery 在输入框中选择字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50163878/

相关文章:

javascript - 动态更新 ng-include

javascript - 在 iframe 中显示部分 DIV

javascript - React/Redux 组件不重新渲染

jquery - 如果选择了选项,则使用 Jquery 禁用提交按钮

javascript - React Native 演示中的代码风格是什么?

javascript - asp hidefield 从 javascript 参数获取空值

javascript - 将值添加到输入字段中

jquery - 在 cookie 中发送扩展的 TreeGrid 节点

javascript - OnClick 之后隐藏按钮

javascript - html2canvas 不适用于多个 div 作为 Canvas