小鹏的blog
Yameth
BlogJava
首页
新随笔
联系
聚合
管理
posts - 1, comments - 0, trackbacks - 0
js获取TEXTAREA的光标位置并添加内容
昨天研究了一下js获取光标位置的方法,在查了一些资料后,发现对于多浏览器支持是很重要的。下面是一些在网上找到的代码,需要传入一个文本域的id和我们想加入的值(value)
function
getValue(objid,str)
{
var
myField
=
document.getElementById(
""
+
objid);
//
IE浏览器
if
(document.selection)
{
myField.focus();
sel
=
document.selection.createRange();
sel.text
=
str;
sel.select();
}
//
火狐/网景 浏览器
else
if
(myField.selectionStart
||
myField.selectionStart
==
'
0
')
{
//
得到光标前的位置
var
startPos
=
myField.selectionStart;
//
得到光标后的位置
var
endPos
=
myField.selectionEnd;
//
在加入数据之前获得滚动条的高度
var
restoreTop
=
myField.scrollTop;
myField.value
=
myField.value.substring(
0
, startPos)
+
str
+
myField.value.substring(endPos, myField.value.length);
//
如果滚动条高度大于0
if
(restoreTop
>
0
)
{
//
返回
myField.scrollTop
=
restoreTop;
}
myField.focus();
myField.selectionStart
=
startPos
+
str.length;
myField.selectionEnd
=
startPos
+
str.length;
}
else
{
myField.value
+=
str;
myField.focus();
}
}
posted on 2011-11-24 14:29
小鹏
阅读(1369)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2011年11月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我的参与
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2011年11月 (1)
搜索
最新评论