JQuery在光标位置插入内容的实现代码
更新时间:2010年06月18日 22:35:49 作者:
IE下可以通过 document.selectIOn.createRange ();来实现,而Firefox(火狐)浏览器则 需要首先获取光标位置,然后对value进行字符串截取处理
复制代码 代码如下:
(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);
使用方法:
复制代码 代码如下:
$(selector).insertAtCaret("value");
相关文章
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
列化中文时出现中文乱码问题,怎么回事呢?下面给大家介绍下jQuery使用serialize()序列化表单时出现中文乱码问题的解决办法,有需要的朋友参考下2016-07-07
jquery插件bootstrapValidator表单验证详解
这篇文章主要为大家详细介绍了jquery插件bootstrapValidator表单验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-12-12


最新评论