zoukankan      html  css  js  c++  java
  • js获取输入框中当前光标位置并在此位置插入字符串的方法(angularjs+ts)

    一半是参照别人代码,一半是自己代码,略笨拙,如果有更好的方法希望分享。

    1. 获取当前光标位置的方法

    2. getCaretPosition (obj:any) {                    //获取输入框中当前光标的位置,obj为此输入框
              let $scope = this.$scope;
              let $log = this.$log;
              $scope.caretPosition = 0;
              if (document.selection) {
                  obj.focus();
                  var oSel = document.selection.createRange();
                  oSel.moveStart('character', -obj.value.length);
                  $scope.caretPosition = oSel.text.length;
              }else if (obj.selectionStart || obj.selectionStart == '0'){
                  $scope.caretPosition = obj.selectionStart;
              }
              console.log( $scope.caretPosition)
          }

      出处

       2.在当前光标位置处插入字符串

    1. insert_flg(oldStr:any,insertStr:any,caretPos:any){
      //oldStr:原字符串,insertStr:要插入的字符串,caretPos:要插入的位置
              var newstr="";
              var tmp1=oldStr.substring(0, caretPos);
              var tmp2=oldStr.substring(caretPos,oldStr.length );
              newstr+=tmp1+insertStr+tmp2;
              return newstr;
      }

      调用时传入的第三个参数就是第一步中获取到的当前光标位置。

  • 相关阅读:
    20个热门jQuery的提示和技巧
    10个原生JavaScript技巧
    HTML5开发 BUG解决
    JS笔试题
    AMD:浏览器中的模块规范
    Win8 App使用Listview的简单方法
    Javascript模块化编程
    移动端插件IScroll.js
    移动web资源概论
    Commonjs规范中module.exports和exports的区别
  • 原文地址:https://www.cnblogs.com/li-you/p/6122707.html
Copyright © 2011-2022 走看看