代码之家  ›  专栏  ›  技术社区  ›  Peter

Jquery-如果光标位于文本字段的开始/结束位置

  •  7
  • Peter  · 技术社区  · 16 年前

    我有一个文本区域,我想检查光标是在开始还是在结束(我不需要当前位置)。

    提前谢谢!
    彼得

    2 回复  |  直到 16 年前
        1
  •  8
  •   Tim Down    10 年前

    假设你的意思是 <input type="text"> 这里不是文本区域,而是一个非jQuery解决方案(您仍然可以将其用于jQuery代码)。它几乎肯定比jQuery插件更少的代码。

    2011年11月12日更新

    说了这些,我已经发展 a jQuery plug-in

    var textInput = document.getElementById("your_id"), val = textInput.value;
    var isAtStart = false, isAtEnd = false;
    if (typeof textInput.selectionStart == "number") {
        // Non-IE browsers
        isAtStart = (textInput.selectionStart == 0);
        isAtEnd = (textInput.selectionEnd == val.length);
    } else if (document.selection && document.selection.createRange) {
        // IE <= 8 branch
        textInput.focus();
        var selRange = document.selection.createRange();
        var inputRange = textInput.createTextRange();
        var inputSelRange = inputRange.duplicate();
        inputSelRange.moveToBookmark(selRange.getBookmark());
        isAtStart = inputSelRange.compareEndPoints("StartToStart", inputRange) == 0;
        isAtEnd = inputSelRange.compareEndPoints("EndToEnd", inputRange) == 0;
    }
    
    alert("At start: " + isAtStart + ", at end: " + isAtEnd);
    
        2
  •  2
  •   Marko    16 年前

    是的,用这个 awesome jQuery plugin .

    需要更多信息吗?带着更多的问题回来:)

    更新

    多亏了 惊人的力量 你仍然可以看到它。

    http://web.archive.org/web/20080620163228/http://blog.0xab.cd/jquery-plugin---fieldselection

    天哪,我喜欢那个网站。