1Introduction
- description:textarea 相关方法,选区、定位、插入、包裹等
- author:ydr.me
- create:2018年11月15日17:19:48
- update:2018年11月15日17:19:48
- github:https://github.com/blearjs/blear.utils.textarea
2Example
var textarea = require('blear.utils.textarea');
// 获取选区
var sel = textarea.getSelection(el);
// 设置选区
textarea.setSelection(el, [0, 100]);
3Static
3.1.getSelection(el): sel
获取 textarea 的当前选区。
3.1.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.1.2sel
- 类型:
Array
- 说明:选区位置
Array[0]
:选区开始位置Array[1]
:选区结束位置
3.2.setSelection(el, sel): undefined
设置 textarea 的选区。
3.2.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.2.2sel
- 类型:
Array
- 说明:选区位置
Array[0]
:选区开始位置Array[1]
:选区结束位置
3.3.getLineHeight(el): lineHeight
获取文本域的行高。
3.3.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.3.2lineHeight
- 类型:
Number
- 说明:行高
3.4.getSelectionRect(el): ret
获取当前选区的坐标(相对于客户端)。
3.4.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.4.2ret
- 类型:
Array
- 说明:坐标数组
Array[0].left
:开始选区横坐标Array[0].top
:开始选区纵坐标Array[1].left
:结束选区横坐标Array[1].top
:结束选区纵坐标
3.5.focus(el, [offsetLines]): undefined
聚焦,会定位到文本选区的末尾,并偏移 N 行(如果在可视区域内则不会偏移)。
3.5.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.5.2offsetLines
- 类型:
Number
- 说明:偏移行数
- 默认:
2
3.6.insert(el, text, [mode]): undefined
当前位置插入文本。
// ^你好,这个炫彩的世界!
textarea.insert(el, '你好,这个炫彩的世界!', 0);
// ^你好,这个炫彩的世界!^
textarea.insert(el, '你好,这个炫彩的世界!', 1);
// 你好,这个炫彩的世界!^
textarea.insert(el, '你好,这个炫彩的世界!', 2);
// 你好,^这个炫^彩的世界!
textarea.insert(el, '你好,这个炫彩的世界!', [3, 6]);
3.6.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.6.2text
- 类型:
String
- 说明:文本
3.6.3mode
- 类型:
Number | Array
- 说明:选区模式
0
:选区定位到文本开始1
:选区选择到文本始末2
:选区定位到文本结束[start, end]
:选择指定位置,注意该位置是相对于当前的文本的
- 默认:
2
3.7.wrap(el, before, after, mode): undefined
当前位置包裹文本。
// 原始文本:你好,这个^炫彩^的世界!
// 执行1次:你好,这个^【炫彩】^的世界!
// 执行2次:你好,这个^炫彩^的世界!
// 执行3次:你好,这个^【炫彩】^的世界!
textarea.insert(el, '【', '】', 0);
// 原始文本:你好,这个^炫彩^的世界!
// 执行1次:你好,这个^《炫彩》^的世界!
// 执行2次:你好,这个^《《炫彩》》^的世界!
// 执行3次:你好,这个^《《《炫彩》》》^的世界!
textarea.insert(el, '《', '》', 1);
3.7.1el
- 类型:
HTMLTextareaElement
- 说明:textarea 元素
3.7.2before
- 类型:
String
- 说明:包裹前文本
3.7.3after
- 类型:
String
- 说明:包裹后文本
3.7.4mode
- 类型:
Number
- 说明:包裹模式
0
:切换模式1
:重复模式
4Dependencies
- blear.core.attribute
- blear.core.layout
- blear.core.modification
- blear.utils.access
- blear.utils.typeis