文章目錄
原文:http://www.js8.in/538.html
之前我寫過一篇文章是通過javascript擷取游標的位置——javascript擷取游標位置以及設定游標位置。由於產品需要在留言板的游標處上插入表情,這樣就用到了javascript在游標位置插入內容的功能了~其實原理很簡單,IE下可以通過document.selection.createRange();來實現,而Firefox(Firefox)瀏覽器則需要首先擷取游標位置,然後對value進行字串截取處理。不多說了~直接上我寫的一個jQuery在游標位置插入內容外掛程式吧~
jQuery在游標位置插入內容外掛程式代碼:
(function($){
$.fn.extend({
insertAtCaret: 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();
}
}
})
})(jQuery);