javascript - jQuery - 获取输入字段中的当前文本选择

标签 javascript jquery

我有几个具有相同类名的输入框。我希望能够获取当前突出显示的文本并准确知道该文本位于哪个输入框中。我当前的方法是这样的:

 $(document).on("mouseup", ".element", function(){
    var text = "";
    var activeEl = document.activeElement;
    var activeElTagName = activeEl ? activeEl.tagName.toLowerCase() : null;
    if (
    (activeElTagName == "textarea") || (activeElTagName == "input" &&
    /^(?:text|search|password|tel|url)$/i.test(activeEl.type)) &&
    (typeof activeEl.selectionStart == "number")
    ) {
        text = activeEl.value.slice(activeEl.selectionStart, activeEl.selectionEnd);
    } else if (window.getSelection) {
        text = window.getSelection().toString();
   }
});

这为我提供了当前的文本选择,我可以调用 $(this) 来访问突出显示文本所在的元素。

然而,我当前方法的问题是,如果您开始单击,然后拖动到文本框之外,例如文本框左边缘之外,您将在框中突出显示文本,但事件将不注册,因为鼠标单击在输入字段的范围之外结束。我该如何解决这个问题?

最佳答案

您可以将多个事件绑定(bind)到一个处理程序。
所以也只需绑定(bind) mouseleave 即可!

$(document).on("mouseup mouseleave", ".element", function(){

关于javascript - jQuery - 获取输入字段中的当前文本选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43443191/

相关文章:

javascript - 分配属性时,如何避免 Microsoft Bot Framework State PropertyAccessor 中出现 Typescript 错误 TS2345

javascript - 使用css/js切换黑白图像的颜色

java - 运行 jQuery getJSON 时出现 Ajax 错误

jquery - 如何将关键帧合并到多个元素中?

javascript - 选择具有异国情调 ID 的元素

javascript - meteor js 和全日历

javascript - 需要 Jquery 按钮鼠标悬停滚动到顶部

javascript - 从安卓网站打开键盘

javascript - 在没有 ADAL 的情况下从 Javascript 调用经过 AAD 验证的 Azure 函数?不存在 Access-control-allow-origin header

javascript - 查找最近的相似 sibling