用Javascript在编辑框和TextArea的光标处插入文字,支持连续插入
来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:24 点击:次
001
<html>
002
003
<head>
004
005
<title>Test of inserting characters at cursor position</title>
006
007
<script type="text/javascript" src="jquery.pack.js"></script>
008
009
<script>
010
011
function setCaret(textObj){
012
013
if(textObj.createTextRange){
014
015
textObj.caretPos=document.selection.createRange().duplicate();
016
017
}
018
019
}
020
021
function insertAtCaret(textObj,textFeildValue){
022
023
if(document.all&&textObj.createTextRange&&textObj.caretPos){
024
025
var caretPos=textObj.caretPos;
026
027
caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
028
029
}else if(textObj.setSelectionRange){
030
031
var rangeStart=textObj.selectionStart;
032
033
var rangeEnd=textObj.selectionEnd;
034
035
var tempStr1=textObj.value.substring(0,rangeStart);
036
037
var tempStr2=textObj.value.substring(rangeEnd);
038
039
textObj.value=tempStr1+textFeildValue+tempStr2;
040
041
textObj.focus();
042
043
var len=textFeildValue.length;
044
045
textObj.setSelectionRange(rangeStart+len,rangeStart+len);
046
047
textObj.blur();
048
049
}else {
050
051
textObj.value+=textFeildValue;
052
053
}
054
055
}
056
057
$(document).ready(function(){
058
059
if($.browser.msie){
060
061
$("#tag")
062
063
.click(function(){
064
065
setCaret($(this).get(0));
<html>
002
003
<head>
004
005
<title>Test of inserting characters at cursor position</title>
006
007
<script type="text/javascript" src="jquery.pack.js"></script>
008
009
<script>
010
011
function setCaret(textObj){
012
013
if(textObj.createTextRange){
014
015
textObj.caretPos=document.selection.createRange().duplicate();
016
017
}
018
019
}
020
021
function insertAtCaret(textObj,textFeildValue){
022
023
if(document.all&&textObj.createTextRange&&textObj.caretPos){
024
025
var caretPos=textObj.caretPos;
026
027
caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
028
029
}else if(textObj.setSelectionRange){
030
031
var rangeStart=textObj.selectionStart;
032
033
var rangeEnd=textObj.selectionEnd;
034
035
var tempStr1=textObj.value.substring(0,rangeStart);
036
037
var tempStr2=textObj.value.substring(rangeEnd);
038
039
textObj.value=tempStr1+textFeildValue+tempStr2;
040
041
textObj.focus();
042
043
var len=textFeildValue.length;
044
045
textObj.setSelectionRange(rangeStart+len,rangeStart+len);
046
047
textObj.blur();
048
049
}else {
050
051
textObj.value+=textFeildValue;
052
053
}
054
055
}
056
057
$(document).ready(function(){
058
059
if($.browser.msie){
060
061
$("#tag")
062
063
.click(function(){
064
065
setCaret($(this).get(0));
相关新闻>>
- Javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”
- 好好学一遍JavaScript 笔记(一)——基础中的基础
- 好好学一遍JavaScript 笔记(二)——encode、数组、对象创建
- 好好学一遍JavaScript 笔记(三)——StringBuffer、prototype
- 好好学一遍javaScript 笔记(四)——Attribute、HTML元素、文档碎
- 好好学一遍JavaScript 笔记(五)——正则表达式基础
- 好好学一遍JavaScript 笔记(六)——正则表达式基础二
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- 好好学一遍JavaScript 笔记(八)——冒泡型事件、捕获型事件
- JavaScript详解
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>