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 }
  • 相关阅读:
    FastCgi与PHP-fpm之间是个什么样的关系
    MySql的like语句中的通配符:百分号、下划线和escape
    mysql将int 时间类型格式化
    navicat 结合快捷键
    MySQL中concat函数
    case when then else end 用法
    PhpStorm主题
    Having与Where的区别
    无需图形界面环境下的浏览器
    Socket常见错误
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4055716.html
Copyright © 2011-2022 走看看