≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > JavaScript

新浪的库操作textarea的工具函数示例

人气:652 时间:2018-09-26

这篇文章主要为大家详细介绍了新浪的库操作textarea的工具函数示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
JS代码如下:

/**
 * 操作textarea的工具函数
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 **/
App.TextareaUtils = (function () {
    var it = {},
        ds = document.selection;
    it.selectionStart = function (oElement) {
        if (!ds) {
            return oElement.selectionStart
        }
        var er = ds.createRange(),
            value, len, s = 0;
        var er1 = document.body.createTextRange();
        er1.moveToElementText(oElement);
        for (s; er1.compareEndPoints("StartToStart", er) < 0; s++) {
            er1.moveStart("character", 1)
        }
        return s
    };
    it.selectionBefore = function (oElement) {
        return oElement.value.slice(0, it.selectionStart(oElement))
    };
    it.selectText = function (oElement, nStart, nEnd) {
        oElement.focus();
        if (!ds) {
            oElement.setSelectionRange(nStart, nEnd);
            return
        }
        var c = oElement.createTextRange();
        c.collapse(1);
        c.moveStart("character", nStart);
        c.moveEnd("character", nEnd - nStart);
        c.select()
    };
    it.insertText = function (oElement, sInsertText, nStart, nLen) {
        oElement.focus();
        nLen = nLen || 0;
        if (!ds) {
            var text = oElement.value,
                start = nStart - nLen,
                end = start + sInsertText.length;
            oElement.value = text.slice(0, start) + sInsertText + text.slice(nStart, text.length);
            it.selectText(oElement, end, end);
            return
        }
        var c = ds.createRange();
        c.moveStart("character", -nLen);
        c.text = sInsertText
    };
    it.getCursorPos = function (obj) {
        var CaretPos = 0;
        if ($IE) {
            obj.focus();
            var range = null;
            range = ds.createRange();
            var stored_range = range.duplicate();
            stored_range.moveToElementText(obj);
            stored_range.setEndPoint("EndToEnd", range);
            obj.selectionStart = stored_range.text.length - range.text.length;
            obj.selectionEnd = obj.selectionStart + range.text.length;
            CaretPos = obj.selectionStart
        } else {
            if (obj.selectionStart || obj.selectionStart == "0") {
                CaretPos = obj.selectionStart
            }
        }
        return CaretPos
    };
    it.getSelectedText = function (obj) {
        var selectedText = "";
        var getSelection = function (e) {
            if (e.selectionStart != undefined && e.selectionEnd != undefined) {
                return e.value.substring(e.selectionStart, e.selectionEnd)
            } else {
                return ""
            }
        };
        if (window.getSelection) {
            selectedText = getSelection(obj)
        } else {
            selectedText = ds.createRange().text
        }
        return selectedText
    };
    it.setCursor = function (obj, pos, coverlen) {
        pos = pos == null ? obj.value.length : pos;
        coverlen = coverlen == null ? 0 : coverlen;
        obj.focus();
        if (obj.createTextRange) {
            var range = obj.createTextRange();
            range.move("character", pos);
            range.moveEnd("character", coverlen);
            range.select()
        } else {
            obj.setSelectionRange(pos, pos + coverlen)
        }
    };
    it.unCoverInsertText = function (obj, str, pars) {
        pars = (pars == null) ? {} : pars;
        pars.rcs = pars.rcs == null ? obj.value.length : pars.rcs * 1;
        pars.rccl = pars.rccl == null ? 0 : pars.rccl * 1;
        var text = obj.value,
            fstr = text.slice(0, pars.rcs),
            lstr = text.slice(pars.rcs + pars.rccl, text == "" ? 0 : text.length);
        obj.value = fstr + str + lstr;
        this.setCursor(obj, pars.rcs + (str == null ? 0 : str.length))
    };
    return it
})();

// 来自:四海网(www.q1010.com)

本文来自:http://www.q1010.com/174/1714-0.html

注:关于新浪的库操作textarea的工具函数示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:textarea

您可能感兴趣的文章

  • php 格式化textarea文本域内容函数示例
  • php 提交textarea文本框数据到后端实现方法
  • php 实现替换提交textarea中的HTML字符串,比如单引号
上一篇:JavaScript Nodejs和MongoDB的简单示例
下一篇:JavaScript解析QueryString的简单示例
热门文章
  • js随机生成两位数
  • js 文字超出部分隐藏、点击显示更多示例
  • 原生JS+css 点击查看全文的简单示例(类似今日头条效果)
  • javascript实现文字隐藏、展开收起的简单示例
  • JS 展开/收起按钮显示隐藏文字示例
  • JavaScript 正则判断文本是否含有超链接的简单示例
  • 原生JS实现鼠标悬停图片显示文字的简单示例
  • JS 点击按钮显示更多内容的简单示例
  • 原生js for循环遍历二维数组、嵌套元素的简单示例
  • javascript 浮点数转换成整数三种方法
  • 最新文章
    • js获取时间,处理时间等的实现方法
    • JavaScript 判断小数是否相等的简单示例
    • JavaScript 获取数组极值的简单示例
    • JavaScript防抖 & 节流的简单示例
    • JavaScript深拷贝的简单示例
    • JavaScript数组降维的简单示例
    • JavaScript手机端判断浏览器类型的简单示例
    • JavaScript获取 URL 中的参数的简单示例
    • JavaScript以“天”为单位获取响应的时间戳的简单示例
    • JavaScript时间格式化的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。