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多功能可自定义的table表格插件

一款轻量级table表格插件,支持加载大量的数据,自动配置水平、垂直滚动条,table表格中的每列支持升序、降序自动排序。
  其它&杂项
 1955  0

jquery超轻量级平滑定位滚动插件

一款DIV定位滚动特效代码,类似于手机通讯录点击首字母快速定位滑动特效。
  其它&杂项
 9806  0

原生js不同浏览器尺寸查看预览特效

iframe内嵌网页,模拟在不同分辨率下显示情况,适合做前端浏览器测试!
  其它&杂项
 5783  0

jquery功能强大的表单提交多语言切换特效

lang-js是一个简单而强大的本地化多语言切换插件,直接读取了本地json文件进行切换相应的文本文字,带了cookie缓存功能。
  其它&杂项
 2831  0

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

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