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

JQuery扩展:TextArea在光标处插入文本

2015-10-15 00:00 579 查看
$.fn.extend({
insertAtCursor : function(myValue) {
var $t = $(this)[0];
if (document.selection) {
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
} else if ($t.selectionStart || $t.selectionStart == '0') {
var startPos = $t.selectionStart;
var endPos = $t.selectionEnd;
var scrollTop = $t.scrollTop;
$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
this.focus();
$t.selectionStart = startPos + myValue.length;
$t.selectionEnd = startPos + myValue.length;
$t.scrollTop = scrollTop;
} else {
this.value += myValue;
this.focus();
}
}
});

<textarea id="content"></textarea>
<a href="#" onclick="insertExp()">插入文本</a>
<script type="text/javascript">
function insertExp() {
$("#content").insertAtCursor("测试插入文本");
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息