在 Youtrack 应用程序中,我发现他们在输入元素旁边使用了一些
最佳答案
在 Firefox 中,您可以使用 textarea.selectionStart
检索插入符位置。
这是一种在光标所在的位置插入虚拟字符并获取文本位置而不是光标位置的方法。
var area = document.getElementById("textareaID"); // the textarea
area.focus(); // assign focus
var c = "{{#$%&{}"; // dummy string
var sel = document.selection.createRange();
var sel2 = sel.duplicate();
sel2 .moveToElementText(area);
sel.text = c;
pos = (sel2.text.indexOf(c));
或者这是一个检查是否支持selectionStart的跨浏览器方法
var pos = 0;
if("selectionStart" in el) {
pos = el.selectionStart;
} else if("selection" in document) {
el.focus();
var Sel = document.selection.createRange();
var SelLength = document.selection.createRange().text.length;
Sel.moveStart("character", -el.value.length);
pos = Sel.text.length - SelLength;
}
return pos;
还有其他 jQuery 插件可以操作插入符号。 http://plugins.jquery.com/caret/
这是我遇到的几个 jsFiddle 演示
关于javascript - 如何检测文本框中某些文本的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25990297/