您的位置:首页 > Web前端 > JavaScript

js在当前光标处插入特定字符 兼容ie、火狐、谷歌、360、NETSCAPE等浏览器

2013-06-03 18:14 846 查看


js在当前光标处插入特定字符:

在网上看到好多文章介绍的很麻烦,而且又不好用,这里最简便的就是:
document.all("sendNoRegex").focus();

var sel = document.selection.createRange();

sel.text='"年份"';

以下是我在实际应用中的一个实例:
function addRegex(re){//点击添加字号范例和字号表达式jiangkun

var snText=$('#sendNo').text();

var snrVal=$('#sendNoRegex').val();

if(snText=='(XX/L)【'+year+'】(0001)'){$('#sendNo').empty();}

document.all("sendNoRegex").focus();

var sel = document.selection.createRange();

if(re=='year'){

sel.text='"年份"';

}else if(re=='snumber'){

sel.text='###';

}else if(re=='('||re==')'||re=='['||re==']'||re=='【'||re=='】'||re=='/'){

sel.text=re;

}

var sen=$('#sendNoRegex').val();

$('#sendNo').empty().append(sen);

changeSpecial();

}

不过以上方法仅支持ie浏览器,采用以下方式可以兼容ie、火狐、谷歌、360、NETSCAPE等浏览器

function insertAtCursor(myField, myValue) {

if(document.selection){//IE support

document.getElementById("sendNoRegex").focus();

sel = document.selection.createRange();

sel.text = myValue;

sel.select();

}else if(sendNoRegex.selectionStart || sendNoRegex.selectionStart == '0'){//MOZILLA/NETSCAPE support

var startPos = sendNoRegex.selectionStart;

var endPos = sendNoRegex.selectionEnd;

// save scrollTop before insert

var restoreTop = sendNoRegex.scrollTop;

sendNoRegex.value = sendNoRegex.value.substring(0, startPos) + myValue + sendNoRegex.value.substring(endPos,sendNoRegex.value.length);

if (restoreTop > 0){

// restore previous scrollTop

sendNoRegex.scrollTop = restoreTop;

}

sendNoRegex.focus();

sendNoRegex.selectionStart = startPos + myValue.length;

sendNoRegex.selectionEnd = startPos + myValue.length;

}else{

sendNoRegex.value += myValue;

sendNoRegex.focus();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐