87,914
社区成员
发帖
与我相关
我的任务
分享
<script language="javascript">
var clone ;
function getFocus(obj){
if(document.all){
var sel=document.selection.createRange();
clone = sel.duplicate();
//设置头位置(头等于obj的TextRange的头,尾等于obj的TextRange的尾)
clone.moveToElementText(obj);
clone.setEndPoint('EndToEnd', sel);//设置尾位置,些时的clone不能由
//return clone.text.length ;//光标前文本的长度
}
}
function getBefore() //得到光标前的文本
{
return clone.text
}
function getLast() //得到光标后的文本
{
var m=clone.text.length;//当前光标所在位置
clone.moveStart('character',m);//移动开始点,-m标示当前光标位置前面m个字符处
clone.moveEnd('character',aa.value.length);//移动结束点,0标示当前光标位置
clone.select();//选中开始点到结束点间的字符
return document.selection.createRange().text ;
}
function insert(id,str){
if(document.all){
alert(clone == null) ;
if(clone == null) return ;
document.getElementById("aa").value = getBefore() + str + getLast() ;
clone = null ;
alert(clone == null) ;
}else{
var obj = document.getElementById(id) ;
var scrollTop = obj.scrollTop; // 滚动的位置
var start = obj.selectionStart; // 当前光标所在位置
var pre = obj.value.substr(0, obj.selectionStart); // 光标之前的内容
var next = obj.value.substr(obj.selectionEnd); // 光标之后的内容
document.getElementById("aa").value = pre + str + next ;
}
}
</script>
<textarea id="aa" type=text onfocus="getFocus(this)" rows=10 cols=50>
场研究公司comScore最新发布的数据显示,微软在美国搜索市场的份额已接近10%,而雅虎搜索的份额逐月下降。谷歌搜索份额继续增长。
</textarea>
<br>
<input type="button" value="插入【ADD】" onclick="insert('aa','ADD')">
<script>
funtion clickAction(obj){
var id = "<%=tboxCF.ClientID %>"; // 多行文本框的ID
var btn = document.getElementById(id); // 多行文本框
var str = obj.innerHTML.replace(/[ ]/g, "");// 要插入的字符
// 接下来要获取光标在多行文本框中的位置,然后将str放入光标所在的位置去。
// 除了这个,还有下拉列表的,也是要获取光标位置,然后将下拉列表选中的值插入光标所在的位置。
}
</script>
<asp:TextBox runat="server" ID="tboxCF" TextMode="MultiLine" Rows="10" Columns="30"></asp:TextBox>
<div onclick="clickAction(this)">+</div>
<div onclick="clickAction(this)">-</div>
<div onclick="clickAction(this)">*</div>
<div onclick="clickAction(this)">/</div>