jQuery实现在textarea指定位置插入字符或表情的方法
作者:黄平俊
这篇文章主要介绍了jQuery实现在textarea指定位置插入字符或表情的方法,实例分析了jQuery操作表单元素的技巧,非常实用,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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);
$.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程序设计有所帮助。
您可能感兴趣的文章:
- Vue中正确使用jQuery的方法
- jquery在vue脚手架中的使用方式示例
- vue单页应用中如何使用jquery的方法示例
- 详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
- vue中如何引入jQuery和Bootstrap
- jQuery实现将div中滚动条滚动到指定位置的方法
- js,jquery滚动/跳转页面到指定位置的实现思路
- 基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
- JQuery简单实现锚点链接的平滑滚动
- jQuery实现平滑滚动到指定锚点的方法
- 使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
- jQuery 锚点跳转滚动条平滑滚动一句话代码
- Vue引入jquery实现平滑滚动到指定位置