javascript 操作 textarea

有多个按钮,按钮中的值是固定的,点击不同的按钮要在textarea中的不同位置输入,也就是焦点的位置。在线等待。。谢谢啦。coolwolf79可能理解错啦,不是焦点的问题... 有多个按钮,按钮中的值是固定的,点击不同的按钮要在textarea中的不同位置输入,也就是焦点的位置。 在线等待。。 谢谢啦。
coolwolf79 可能理解错啦,不是焦点的问题,是在textarea标签中的不同位置输入,而你的是在不同文本框中获得焦点,我想实现的是点击不同的按钮可以在textarea中输入不同的值,就是在焦点的位置输入
展开
 我来答
百度网友a435633
2010-01-31 · TA获得超过1234个赞
知道大有可为答主
回答量:1018
采纳率:0%
帮助的人:0
展开全部
从网上拷贝一段代码给你

var setCursorPos = function( el, pos ) {
if( el.createTextRange ) {
var rng = el.createTextRange(); //新建textRange对象
rng.moveStart( 'character', pos ); //更改rng对象的开始位置
rng.collapse( true ); //光标移动到范围结尾
rng.select();//选中
el.focus();
} else if( el.setSelectionRange ) {
el.focus(); //先聚焦
el.setSelectionRange( pos , pos ); //设光标
}
}

以上是设置光标位置的函数, 要在光标位置插入文字用以下函数
function insertAtCursor(textarea, text) {
if (!textarea || !text) {
return;
}
if (document.selection) {
//IE
textarea.focus();
sel = document.selection.createRange();
sel.text = text;
} else if (textarea.selectionStart || textarea.selectionStart == '0') {
//Mozilla/Firefox
textarea.focus();
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) + text + textarea.value.substring(endPos, textarea.value.length);
textarea.setSelectionRange(endPos+text.length, endPos+text.length);
} else {
textarea.value += text;
}
}

用法
var el= document.getElementById('text1');
insertAtCursor(el, 'test');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coolwolf79
2010-01-29 · 超过24用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:0
展开全部
写个简单的,原理相同:
<html>
<head><title></title>
<script type = "text/javascript">
function setFocus(id)
{
document.getElementById(id).focus();
}

</script>
</head>

<body>
<input type = "button" value = "button1" onclick = "setFocus('button1')">
<input type = "button" value = "button2" onclick = "setFocus('button2')">
<input type = "button" value = "button3" onclick = "setFocus('button3')">
<input type = "button" value = "button4" onclick = "setFocus('button4')">
<input type = "button" value = "button5" onclick = "setFocus('button5')">
<br/>

<input type = "text" id = "button1">
<input type = "text" id = "button2">
<input type = "text" id = "button3">
<input type = "text" id = "button4">
<input type = "text" id = "button5">

</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Loadinger
2010-01-29 · TA获得超过552个赞
知道小有建树答主
回答量:757
采纳率:100%
帮助的人:417万
展开全部
你是要写一个什么??编辑器吗?那可不是用textarea写的..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式