textarea在光标位置添加内容

左手的ㄟ右手 2022-03-11 08:10 423阅读 0赞

(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

  1. - myValue.length) : sel.moveStart(
  2. "character", wee - t - myValue.length);
  3. sel.select();
  4. \}
  5. \} else if ($t.selectionStart
  6. || $t.selectionStart == '0') \{
  7. var startPos = $t.selectionStart;
  8. var endPos = $t.selectionEnd;
  9. var scrollTop = $t.scrollTop;
  10. $t.value = $t.value.substring(0, startPos)
  11. + myValue
  12. + $t.value.substring(endPos,
  13. $t.value.length);
  14. this.focus();
  15. $t.selectionStart = startPos + myValue.length;
  16. $t.selectionEnd = startPos + myValue.length;
  17. $t.scrollTop = scrollTop;
  18. if (arguments.length == 2) \{
  19. $t.setSelectionRange(startPos - t,
  20. $t.selectionEnd + t);
  21. this.focus();
  22. \}
  23. \} else \{
  24. this.value += myValue;
  25. this.focus();
  26. \}
  27. \}

})
})(jQuery);

上面代码放于jQuery的入口函数内部即可。

用法:通过textarea直接调用此方法即可,

如在id为textarea1的文本域插入字符串123:

$(#textarea1).insertContent(“123”);

转自https://blog.csdn.net/SudaDays/article/details/79289159

发表评论

表情:
评论列表 (有 0 条评论,423人围观)

还没有评论,来说两句吧...

相关阅读