2010-07-17 73 views
0

我想在textarea中插入字(测试)后放置光标。
单词的插入可以在textarea的任何位置。
器(Internet Explorer)
这是我的脚本:插入字后定位光标

document.activeElement.focus(); 

document.selection.createRange().text = "test"; 

var sel = document.selection.createRange(); 
sel.moveStart('character', -document.activeElement.value.length); 
var cursorPos = sel.text.length; 

var range = this.textarea.createTextRange(); 
range.collapse(true); 
range.moveEnd('character', cursorPos); 
range.moveStart('character', cursorPos); 
range.select(); 

回答

0

这将做到这一点(在Internet Explorer只,你所需要的其他浏览器完全不同的方法):

document.activeElement.focus(); 
var sel = document.selection.createRange(); 
sel.text = "test"; 
sel.collapse(false); 
sel.select(); 
+0

这是好的,但我有一个子问题:如何从当前位置移动光标X步骤?我需要使用moveEnd和moveStart? – shivesh 2010-07-18 06:05:56

+0

跳过最后一条评论,我会接受这个答案并打开一个新问题。 – shivesh 2010-07-18 08:34:48