博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于createTextRange和createRange的一些用法【转】
阅读量:6836 次
发布时间:2019-06-26

本文共 3631 字,大约阅读时间需要 12 分钟。

一、返回createTextRange的text和htmlText

<mce:script language="javascript"><!--

function test()
{
var rng=document.body.createTextRange();
alert(rng.text)
}
function test1()
{
var rng=document.body.createTextRange();
alert(rng.htmlText)
}
// --></mce:script>
<input type="button" οnclick="test()" value="text">
<input type="button" οnclick="test1()" value="htmlText">

二、获取指定文本框中的选中的文字:只响应第一个文本框

<input id="inp1" type="text" value="1234567890">

<input id="inp2" type="text" value="9876543210">
<input type="button" οnclick="test()" value="确定">
<mce:script language="javascript"><!--
function test()
{
var o=document.getElementById("inp1")
var r = document.selection.createRange();
if(o.createTextRange().inRange(r))
alert(r.text);
}
// --></mce:script>

三、页面文本倒序查找

abababababababa

<input value="倒序查找a" οnclick=myfindtext("a") type="button">
<mce:script language ='javascript'><!--
var rng = document.body.createTextRange();
function myfindtext(text)
{
rng.collapse(false);
if(rng.findText(text,-1,1))
{
rng.select();
rng.collapse(true);
}else
{alert("end");}
}
// --></mce:script>

四、聚焦控件后把光标放到最后

<mce:script language="javascript"><!--

function setFocus()
{
var obj = event.srcElement;
var txt =obj.createTextRange();
txt.moveStart('character',obj.value.length);
txt.collapse(true);
txt.select();
}
// --></mce:script>
<input type="text" value="http://toto369.net" οnfοcus="setFocus()">

五、得到文本框内光标位置

<mce:script language="javascript"><!--

function getPos(obj){
obj.focus();
var s=document.selection.createRange();
s.setEndPoint("StartToStart",obj.createTextRange())
alert(s.text.length);
}
// --></mce:script>
<input type="text" id="txt1" value="1234567890">
<input type="button" value="得到光标位置" οnclick=getPos(txt1)>

六、控制input框内光标位置

<mce:script language="javascript"><!--

function setPos(num)
{
text1.focus();
var e =document.getElementById("text1");
var r =e.createTextRange();
r.moveStart('character',num);
r.collapse(true);
r.select();
}
// --></mce:script>
<input type="text" id="text1" value="1234567890">
<select οnchange="setPos(this.selectedIndex)">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>

七、选中文本框中的一段文字

<mce:script language=javascript><!--

function sel(obj,num)
{
var rng=obj.createTextRange()
var sel = rng.duplicate();
sel.moveStart("character", num);
sel.setEndPoint("EndToStart", rng);
sel.select();
}
// --></mce:script>
<input type="text" id="text1" value="1234567890">
<select οnchange="sel(text1,this.value)">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>

八、控制文本框内光标的移动

<input type="button" value="<" οnclick=go(-1)>

<input id="demo" value="这里是文字">
<input type="button" value=">" οnclick=go(1)>
<mce:script language="javascript"><!--
function go(n){
demo.focus();
with(document.selection.createRange())
{
moveStart("character",n);
collapse();
select();
}
}
// --></mce:script>

九、取光标位置

<body>
<div id=box>点击textarea</div>
<mce:script type="text/javascript"><!--
function doit()
{
var rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
rng.moveEnd("character",event.srcElement.value.length)
box.innerText = "光标位置:" + (event.srcElement.value.length - rng.text.length)
}
// --></mce:script>
<textarea οnclick=doit() rows="6" cols="33">sdfsdfsdfsdfsdfsdfsdf

转载于:https://www.cnblogs.com/hejia/p/4242146.html

你可能感兴趣的文章
Django 使用分页
查看>>
实现HTTPS系列第五弹(终章)之【通过OpenSSL实现HTTPS】
查看>>
Windows API OpenURL无法设置超时时间替换方法
查看>>
Linux 下 MySQL 5.5.8 源码编译安装记录
查看>>
Linux启动级别切换
查看>>
heartbeat
查看>>
关于inodes占用100%的问题及解决方法续集如何解决clientmqueue目录文件太多
查看>>
常用连接linux工具
查看>>
Nginx rewrite 多重判断
查看>>
Linux防火墙
查看>>
如何通过一个值查找到值所在的SQL数据库表
查看>>
Python学习—面向对象学习上
查看>>
3.9 对称三位素数
查看>>
“旧城改造”的背后——银泰新零售阿里云解决方案(下)
查看>>
云原生生态周报 Vol. 2
查看>>
206. echarts的map地图入门案例
查看>>
一次非常有趣的 SQL 优化经历
查看>>
玩游戏?Linux才高端!
查看>>
桥接,仅主机,NAT模式网卡的配置
查看>>
web普通项目映射为maven项目
查看>>