zoukankan      html  css  js  c++  java
  • selectionStart和selectionEnd属性

    在网上看了很多用js在光标处插入文字的代码,很多都没有用,互抄而已,浪费时间。最近用到一个新方法,可以到达这个需求。IE支持document.selection,Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性。

    代码如下:

    01 function insertText(obj,str) {
    02     if (document.selection) {
    03         var sel = document.selection.createRange();
    04         sel.text = str;
    05     } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
    06         var startPos = obj.selectionStart,
    07             endPos = obj.selectionEnd,
    08             cursorPos = startPos,
    09             tmpStr = obj.value;
    10         obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
    11         cursorPos += str.length;
    12         obj.selectionStart = obj.selectionEnd = cursorPos;
    13     } else {
    14         obj.value += str;
    15     }
    16 }
    17 function moveEnd(obj){
    18     obj.focus();
    19     var len = obj.value.length;
    20     if (document.selection) {
    21         var sel = obj.createTextRange();
    22         sel.moveStart('character',len);
    23         sel.collapse();
    24         sel.select();
    25     } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {
    26         obj.selectionStart = obj.selectionEnd = len;
    27     }
    28 }
  • 相关阅读:
    php集成开发环境搭建三种方式
    阿里云服务器ftp连接后21端口无法使用的问题
    Linux CentOS7 安装FTP服务器
    WIN10分盘
    转载:常见的正则表达式
    转载:什么是分布式系统中的幂等性
    会员通过消费攒积分,升级RENEW以及降级的需求
    CASSANDRA How to import and export data
    tmp for cassandra batch delete
    SQL Insert Case When Update
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4055716.html
Copyright © 2011-2022 走看看