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

标签 javascript jquery textarea selection textselection

我有一个文本区域,我想检查光标是在开头还是结尾(我不需要当前位置)。
有人知道简单的 jQuery 解决方案吗?

提前致谢!
彼得

最佳答案

假设您的意思是 <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);

关于javascript - Jquery - 如果光标位置在文本字段的开始/结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3904530/

相关文章:

javascript - 选择后禁用下拉列表后如何从下拉列表中获取所选值

javascript - 无法访问谷歌浏览器控制台中的变量

javascript - jQuery .hover() 没有在 mouseout 上完成

javascript - jQuery Tablesorter 动态加载 CSV

php - CKEditor 在支持 prototype.js 的环境中是否正常工作?

php - 从 Url 获取变量

javascript - 无法从 jQuery 对象中轻松访问和重新呈现元素

带有上下文传递的 jQuery 选择器

javascript:将文本附加到文本区域性能

javascript - IE6中如何获取textarea中的文本?