我的问题很简单,但我无法理解。
我正在使用here周围找到的方法在textarea中插入文本。那个方法,将文本插入实际的光标位置,没关系。
但我想将光标定位在插入的文本之间。
我要插入的文字是:****
,__
,~~~~
和[](http://)
我知道,这只是一些随机符号。但这是一个eregi。
我想将光标放在插入的字符之间,**here**
,_here_
和~~HERE~~
之间,我需要在第一个[]之间定位的最后一个,它是[HERE](http://)
它不应该那么难,但我只是不知道该怎么做。有什么帮助吗?
答案 0 :(得分:0)
使用以下功能:
工作示例Caret Test
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();
}
}
function setCaretToPos(input, pos) {
setSelectionRange(input, pos, pos);
}
$("#addStarsCode").click(function() {
var my_i_val = $("#my_textarea").val();
$("#my_textarea").val(my_i_val + '****');
setCaretToPos($("#my_textarea")[0], $("#my_textarea").val().length-2);
});
<textarea id=my_textarea name=my_textarea> I Am A Default Text</textarea><br>
<button id=addStarsCode>Add ****</button>