jquery可获取文本框最初光标停留位置插件

所属分类: 网页特效-其它&杂项    2023-10-25 11:43:41

jquery可获取文本框最初光标停留位置插件 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery可获取文本框最初光标停留位置插件(共2个文件)

    • jquery.caret.js
    • index.html

使用方法

(function($) {
  function focus(target) {
    if (!document.activeElement || document.activeElement !== target) {
      target.focus();
    }
  }

  $.fn.caret = function(pos) {
    var target = this[0];
    var isContentEditable = target && target.contentEditable === 'true';
    if (arguments.length == 0) {
      //get
      if (target) {
        //HTML5
        if (window.getSelection) {
          //contenteditable
          if (isContentEditable) {
            focus(target);
            var selection = window.getSelection();
            // Opera 12 check
            if (!selection.rangeCount) {
              return 0;
            }
            var range1 = selection.getRangeAt(0),
                range2 = range1.cloneRange();
            range2.selectNodeContents(target);
            range2.setEnd(range1.endContainer, range1.endOffset);
            return range2.toString().length;
          }
          //textarea
          return target.selectionStart;
        }
        //IE<9
        if (document.selection) {
          focus(target);
          //contenteditable
          if (isContentEditable) {
              var range1 = document.selection.createRange(),
                  range2 = document.body.createTextRange();
              range2.moveToElementText(target);
              range2.setEndPoint('EndToEnd', range1);
              return range2.text.length;
          }
          //textarea
          var pos = 0,
              range = target.createTextRange(),
              range2 = document.selection.createRange().duplicate(),
              bookmark = range2.getBookmark();
          range.moveToBookmark(bookmark);
          while (range.moveStart('character', -1) !== 0) pos++;
          return pos;
        }
        // Addition for jsdom support
        if (target.selectionStart)
          return target.selectionStart;
      }
      //not supported
      return;
    }
    //set
    if (target) {
      if (pos == -1)
        pos = this[isContentEditable? 'text' : 'val']().length;
      //HTML5
      if (window.getSelection) {
        //contenteditable
        if (isContentEditable) {
          focus(target);
          window.getSelection().collapse(target.firstChild, pos);
        }
        //textarea
        else
          target.setSelectionRange(pos, pos);
      }
      //IE<9
      else if (document.body.createTextRange) {
        if (isContentEditable) {
          var range = document.body.createTextRange();
          range.moveToElementText(target);
          range.moveStart('character', pos);
          range.collapse(true);
          range.select();
        } else {
          var range = target.createTextRange();
          range.move('character', pos);
          range.select();
        }
      }
      if (!isContentEditable)
        focus(target);
    }
    return this;
  }
})(jQuery);

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 其它&杂项

jquery商品添加到购物车功能

一款将商品加入购物车特效,当用户决定购买某件物品的浮动购物车交互效果!可查看购物车商品列表以及价格统计。
  其它&杂项
 671  0

js获取json文件数据动态随机输出显示特效代码

这是一款从json文件获取数据并输出显示的脚本插件,点击按钮自动从json文件中随机抽取一条数据,并显示出来。
  其它&杂项
 7532  0

jquery检测指定DIV的操作事件并输出到控制台

一款检测DIV操作事件插件,可检测特定DIV的向左、向右、向上和向下滑动事件,以及鼠标单击事件,实时输出到console控制台显示。
  其它&杂项
 8232  0

jquery全选和取消全选功能插件

鼠标勾选“全选”复选框,将全部选中所有表格行数据,且自动将对应ID值添加到input当中。
  其它&杂项
 2256  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论