jQuery实现在textarea指定位置插入字符或表情的方法


Posted in Javascript onMarch 11, 2015

本文实例讲述了jQuery实现在textarea指定位置插入字符或表情的方法。分享给大家供大家参考。具体实现方法如下:

1. 函数定义    

(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);

2. 调用方法
$("#textareaId").insertAtCaret("新表情");

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
基于javascript实现图片左右切换效果
Jan 25 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
微信小程序实现底部导航
Nov 05 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 Javascript
微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法
Feb 21 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
jQuery实现统计输入文字个数的方法
Mar 11 #Javascript
jQuery处理json数据返回数组和输出的方法
Mar 11 #Javascript
jquery实现表格本地排序的方法
Mar 11 #Javascript
jQuery实现渐变下拉菜单的简单方法
Mar 11 #Javascript
jQuery实现新消息闪烁标题提示的方法
Mar 11 #Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 #Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 #Javascript
You might like
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python 字典与字符串的互转实例
2017/01/13 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
浅析NumPy 切片和索引
2020/09/02 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
企业管理培训感言
2014/01/27 职场文书
社区端午节活动方案
2014/01/28 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
2014年资料员工作总结
2014/11/18 职场文书
学习保证书怎么写
2015/02/26 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
php双向队列实例讲解
2021/11/17 PHP