基于jQuery的输入框在光标位置插入内容, 并选中

 更新时间:2011年10月29日 01:22:13   作者:  
基于jQuery的输入框在光标位置插入内容, 并选中功能的实现代码,需要的朋友可以参考下。
复制代码 代码如下:

//
//使用方法
//$(文本域选择器).insertContent("插入的内容");
//$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。
//
//在光标位置插入内容, 并选中
(function($) {
$.fn.extend({
insertContent: function(myValue, t) {
var $t = $(this)[0];
if (document.selection) { //ie
this.focus();
var sel = document.selection.createRange();
sel.text = myValue;
this.focus();
sel.moveStart('character', -l);
var wee = sel.text.length;
if (arguments.length == 2) {
var l = $t.value.length;
sel.moveEnd("character", wee + t);
t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);
sel.select();
}
} 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;
if (arguments.length == 2) {
$t.setSelectionRange(startPos - t, $t.selectionEnd + t);
this.focus();
}
}
else {
this.value += myValue;
this.focus();
}
}
})
})(jQuery);

相关文章

  • 完美兼容各大浏览器的jQuery插件实现图片切换特效

    完美兼容各大浏览器的jQuery插件实现图片切换特效

    网友zoeDylan写的原创jquery插件,实现了图片轮播功能,jquery插件名称为zoeDylan.ImgChange,图片路径、跳转链接、提示标题都是有动态数组来配置,jquery插件可灵活配置6个参数, height高、width宽、mgs图片地址、links点击地址、tips图片说明、timers自动切换时间,
    2014-12-12
  • jQuery根据ID获取input、checkbox、radio、select的示例

    jQuery根据ID获取input、checkbox、radio、select的示例

    获取input、checkbox、radio、select的方法有很多,下面本例为大家介绍下根据ID来获取
    2014-08-08
  • jQuery $.each遍历对象、数组用法实例

    jQuery $.each遍历对象、数组用法实例

    这篇文章主要介绍了jQuery $.each遍历对象、数组用法实例,本文讲解了在有参数和无参数的情况下遍历对象及遍历数组的例子及each方法的几种常用用法,需要的朋友可以参考下
    2015-04-04
  • jquery实现图片上传之前预览的方法

    jquery实现图片上传之前预览的方法

    这篇文章主要介绍了jquery实现图片上传之前预览的方法,涉及jquery针对图片及页面元素的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • EasyUI中datagrid在ie下reload失败解决方案

    EasyUI中datagrid在ie下reload失败解决方案

    这篇文章主要介绍了EasyUI中datagrid在ie下reload失败解决方案,结合网上搜集来的几种方案,最终解决了这个问题,分享给大家,希望对大家能够有所帮助。
    2015-03-03
  • jQuery实现仿新浪微博浮动的消息提示框(可智能定位)

    jQuery实现仿新浪微博浮动的消息提示框(可智能定位)

    这篇文章主要介绍了jQuery实现仿新浪微博浮动的消息提示框,具有智能定位功能,涉及jQuery控制页面元素浮动效果的实现技巧,需要的朋友可以参考下
    2015-10-10
  • Jquery实现自定义弹窗示例

    Jquery实现自定义弹窗示例

    使用javascript自带的提示对话框,不怎么美观,如果使用自定义的,那么在样式上就会有更多的控制权了,下面为大家分享下Jquery自定义的弹窗
    2014-03-03
  • jQuery操作文本方法介绍

    jQuery操作文本方法介绍

    这篇文章介绍了jQuery操作文本的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • jquery $.ajax()取xml数据的小问题解决方法

    jquery $.ajax()取xml数据的小问题解决方法

    今天想做一个用$.ajax()从xml中读取数据的这么一个异步交互过程
    2010-11-11
  • jquer之ajaxQueue简单实现代码

    jquer之ajaxQueue简单实现代码

    手头不是很忙,突然想到了ajax queue这个概念,之前貌似有看技术文章中提到过这个,就想着用jquery来实现一下,思想比较简单
    2011-09-09

最新评论