zoukankan      html  css  js  c++  java
  • textarea在光标位置插入文字

    最近开发类似计算器界面,需要在textarea中编辑公式,涉及到 在光标位置插入 字符。

    效果如下:

     

     html代码如下:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>hover demo</title> 
    </head>
    <body>
     
    <textarea rows="8" cols="35" id="areaId"> </textarea>
    <p></p>
    <button class="btn btn-sm btn-purple"  onclick="addExpressContent('+')">+</button>
    <button class="btn btn-sm btn-purple"  onclick="addExpressContent('-')">-</button>
    <button class="btn btn-sm btn-purple"  onclick="addExpressContent('*')">*</button>
    <button class="btn btn-sm btn-purple"  onclick="addExpressContent('/')">/</button>
    <button class="btn btn-sm btn-purple"  onclick="addExpressContent('测试文字')">添加文字</button>
     
    <script>
    /**
     * 添加内容
     */
    function addExpressContent(str){
        var obj = document.getElementById("areaId");
         if (document.selection) {  
               var sel = document.selection.createRange();  
               sel.text = str;  
           } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {  
               var startPos = obj.selectionStart;  
               var    endPos = obj.selectionEnd;  
               var    cursorPos = startPos;  
               var    tmpStr = obj.value;  
               obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);  
               cursorPos += str.length;  
               obj.selectionStart = obj.selectionEnd = cursorPos;  
           } else {  
               obj.value += str;  
           }  
    }
    </script>
    </body>
    </html>
  • 相关阅读:
    python 编码格式
    mysql 允许特定IP访问
    mysql “Too many connections” 解决办法
    python 微信支付
    python RSA 加密与签名
    给列表里添加字典时被最后一个覆盖
    设置MySQL允许外网访问
    Python中print/format字符串格式化实例
    ssh 将22端口换为其它 防火墙设置
    linux ubuntu nethogs安装与介绍
  • 原文地址:https://www.cnblogs.com/haha12/p/4711399.html
Copyright © 2011-2022 走看看