在Javascript中使用TextRange对象的方法总结
以下是TextRange的共同的属性和方法:
属性
BoundingHeight获得的绑定TextRange对象的矩形的高度
BoundingLeft得到距离绑定TextRange对象的左边缘和矩形的左侧TextRange对象之间
offsetleft获取该对象相对于布局或母坐标的计算offsetparent属性指定的左边位置
offsettop获取该对象相对于布局或母坐标的offsetparent属性指定计算顶部的位置
HtmlText获得的绑定TextRange对象的矩形的宽度
文本设置或获取包含在该范围内的文本。
方法
的MoveStart变化范围的起始位置
的MoveEnd变化范围的结束位置
折叠将插入点移动到当前范围的开头或结尾。
移动折叠给定的文本范围,并为给定的单位移动一个空范围。
execcommand执行命令在当前文档的当前选定区域,或指定范围
选择将当前选择区域设置为当前对象
The findText searches the text in the text and sets the beginning and end points of the scope to encircling the search string.
TextRange对象的使用通常包括三个基本步骤:
1。创建文本范围
2。设置开始点和结束点
三.经营范围
复制代码代码如下所示:
movecursor()函数
{
VaR的温度= this.txtnum.value;
如果(isnan(临时))
{
警报(请输入数字);
返回;
}
VaR RNG = this.txttest.createtextrange();
rng.move(人物
Rng.select();
}
将光标移动到下一个位置。
1.createtextrange()
这种方法是通过创建一个TextRange对象的支持,如身体、文本、文本、按钮等元素。该方法返回一个TextRange对象。
2.move(单位{,计数})
移动()方法执行两个操作。首先,该方法将当前文档与前一个点的结尾重叠,将其插入为插入点;然后,插入该点以向前或向后移动任何字符、单词或句子单元。
该方法的第一个参数是一个字符串,它指定一个单位的字符(字符),字(词),句子(段洛),和文字编辑,文字编辑值将插入点移动到整个文本范围的结束(没有参数是必需的)。如果你指定第一个三台,和默认值是1的时候忽略的参数,你可以指定一个整型值表示单位数量。正数代表向前运动,负数代表向后运动。
注意,在移动()方法执行后,范围仍然重叠。
3.select()
select()方法选择当前文本范围中的文本,并且显示游标也必须用它来实现,因为所谓的游标可以理解为边界重合的范围。
复制代码代码如下所示:
菊花桌(满城金甲主题曲)
歌手:Jay Chou album,仍然幻想
眼泪在你眼中哭泣
白色的月亮弯曲在过去。
夜太长,无法结霜。
阁楼上冰冷的绝望是谁
雨水的浅红色的窗户
我一生都被纸打过
梦想在远方变成一缕云彩
风随你飘荡
菊花淡了,你的笑容变黄了。
花落在我的心上静静的滴落。
北风吹维扬夜你的影子
让我一个人待在湖面上结霜
VaR RNG = txtbox.createtextrange();
功能findtext(STR)
{
如果(=)
返回;
/ /定义变量(MoveStart)作为补偿功能,即,起点选择跳过文本
var = 0;
如果(文档选择)
Num = document.selection.createrange(Text.length);
每次调用函数时,端点是结束,起始点是跳过选定新起始点的文本。
Rng.moveStart(人物
Rng.moveEnd(人物
选择文本搜索
如果(rng.findtext(STR))
Rng.select();
对搜索/范围的结束找不到它,然后提示搜索完成后,恢复原RNG范围(或执行一个新的搜索)
如果(rng.text!= str)
{
警报(搜索完成);
RNG = txtbox.createtextrange();
}
}
上述例子说明了使用MoveStart()和moveene()方法选择的几种方法,出现如下范围:
4.movestart(单位{,}(计数)和MoveEnd单位{,计数})
MoveStart()和()方法的MoveEnd类似移动()方法,默认的开始点和结束点的容器中的第一个字符的最后一个字符
我们可以修改selecttext()函数的上述证明:
复制代码代码如下所示:
selecttext()函数
{
VaR RNG = txtbox.createtextrange();
Rng.moveStart(人物
Rng.moveEnd(人物
Rng.select();
}
向前移动起始点移动字符和结束点回到一个字符。在运行之后,您可以看到除了第一个字符和最后1个字符之外,选择范围是整个文本范围。
5.collapse({布尔})
崩溃()方法可以重叠的文本范围从目前的大小到一个单一的字符之间插入点。崩溃的可选参数()方法是布尔值,这表明范围重合在当前范围的起始点或结束点重合。默认值是真的,这正好在起点:
6.findtext(要查找的字符串{,}范围,标志)
TextRange对象的一个最有用的方法是findtext()。它的默认行为是从开始点到结束点浏览文本范围,并搜索区分大小写的字符串匹配。如果在范围内找到实例,则该范围的起始点和结束点都放在该文本中。方法返回true,否则返回false,起始点和结束点不移动。该方法只搜索显示文本,并且不搜索任何标记或属性。
Optional parameter searchScope is an integer value, which indicates the greater the number of characters from the start point, the more text is contained in the search scope. 负值将迫使搜索操作从当前起始点向后搜索。
可选的参数标记用于设置搜索区分案例或案例,或匹配整个单词而已。一个参数是一个整型值,采用比特组合数学方法计算一个值,可以容纳一个或多个设置。匹配整个单词是2的值,匹配的情况下的值是4;如果我们要比赛只有一个项目,我们只提供所需要的价值,但这两种行为,我们需要使用位运算异或操作(^算子)做出价值6。
(findtext)最常见的应用包括在范围的搜索和替换操作,以及格式化字符串的例子,因为通常在搜索查询当前范围的开始,所以再次将开始移动到文章末尾的范围(如3)为例,移动后使findtext()继续浏览剩余的文字,找到另一根火柴。崩溃(假)方法可用于力的起始点移动的第一场比赛的范围的结束点。所以findtext()的例子3功能也可以修改:
复制代码代码如下所示:
VaR RNG = txtbox.createtextrange();
功能findtext(STR)
{
如果(=)
返回;
如果(rng.findtext(STR))
{
Rng.select();
Rng.collapse(假);
}
对搜索/范围的结束找不到它,然后提示搜索完成后,恢复原RNG范围(或执行一个新的搜索)
其他的
{
警报(搜索完成);
RNG = txtbox.createtextrange();
}
}
6.parentelement()
的parentelement()方法返回一个引用包含一个文本范围的容器
DOM对象以获取由光标选择的文本。
复制代码代码如下所示:
getparelem()函数
{
VaR RNG = document.selection.createrange();
var container = rng.parentelement();
/ /警报(container.getattribute(ID)| | container.getattribute(价值)| | container.getattribute()));
警报(容器。tagname);
}
这是只属于正文的文字。
这是div中包含的文本。
这是p中所包含的文本。
这是包含在强文本中的文本。