首页 > 代码库 > JQuery在光标位置插入内容
JQuery在光标位置插入内容
1 (function($) { 2 $.fn.extend({ 3 insertAtCaret: function(myValue) { 4 var $t = $(this)[0]; 5 //IE 6 if (document.selection) { 7 this.focus(); 8 sel = document.selection.createRange(); 9 sel.text = myValue;10 this.focus();11 } else12 //!IE13 if ($t.selectionStart || $t.selectionStart == "0") {14 var startPos = $t.selectionStart;15 var endPos = $t.selectionEnd;16 var scrollTop = $t.scrollTop;17 $t.value = http://www.mamicode.com/$t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);18 this.focus();19 $t.selectionStart = startPos + myValue.length;20 $t.selectionEnd = startPos + myValue.length;21 $t.scrollTop = scrollTop;22 } else {23 this.value += myValue;24 this.focus();25 }26 }27 })28 })(jQuery);
IE下可以通过document.selection.createRange();来实现,而Firefox(火狐)浏览器则需要首先获取光标位置,然后对value进行字符串截取处理。
$(selector).insertAtCaret("value");
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。