我想有些重复的,如Microsoft Office的Outlook程序看到的“自动更正”功能。
对于初学者来说,任何时候在一行的开头用户键入“A”(字母和空格)我想改变这种文字为“*代理[”
我已经写了这以下,如果你在textarea的从上到下敲字工作正常。 但是,如果你在文本区域键入其他地方的文本更改,然后将光标移动到textarea的结束。
我希望光标总是被放置在修改文本的末尾。
我有一个在变量改了行号currentLineNumber
,我知道光标需要在该行的第8字符后,但我不确定如何告诉它去那里
理想的情况是ID喜欢像
function setCursor(row, position) {
//.... code to set cursor
}
我能做些什么来做到这一点? 即时通信开放到JavaScript或jQuery的解决方案(虽然我觉得jQuery的有点难以阅读和理解)
如果有更好的方法来实现我的整体需要,我愿意这一点。
这里有一个的jsfiddle ,如果你不明白的问题
我已经更新了你的提琴看到: http://jsfiddle.net/eghpf/2/
我添加VAR currentPosition
这是在该方法中使用
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
这源于此在文字区域的jQuery设置光标位置
发生了什么(所以光标总是在最后一个位置的原因); 就是当你调用$('#systemNotesbuilder').val(arrayOfLines.join("\n"));
整个价值得到了新的价值将光标置于新的价值后覆盖。 设置光标电话是(也应该)是调用之后。