javascript 操作 textarea
有多个按钮,按钮中的值是固定的,点击不同的按钮要在textarea中的不同位置输入,也就是焦点的位置。在线等待。。谢谢啦。coolwolf79可能理解错啦,不是焦点的问题...
有多个按钮,按钮中的值是固定的,点击不同的按钮要在textarea中的不同位置输入,也就是焦点的位置。 在线等待。。 谢谢啦。
coolwolf79 可能理解错啦,不是焦点的问题,是在textarea标签中的不同位置输入,而你的是在不同文本框中获得焦点,我想实现的是点击不同的按钮可以在textarea中输入不同的值,就是在焦点的位置输入 展开
coolwolf79 可能理解错啦,不是焦点的问题,是在textarea标签中的不同位置输入,而你的是在不同文本框中获得焦点,我想实现的是点击不同的按钮可以在textarea中输入不同的值,就是在焦点的位置输入 展开
3个回答
展开全部
从网上拷贝一段代码给你
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');
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');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写个简单的,原理相同:
<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>
<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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是要写一个什么??编辑器吗?那可不是用textarea写的..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询