光标的一些操作总结

IE下的Range操作比Mozilla下强很多,这里只讨论IE下的操作。
这里选介绍几个光标定位的特点:

1.光标不变

直接obj.focus(),光标会返回之前的位置,即位置不变

2.光标在最前

代码如下:

var r = obj.createTextRange();
r.collapse();
r.select();

用这个方法可以使光标在input框最前面

3.光标在最后

代码如下:

var r = obj.createTextRange();
r.collapse(false);
r.select();

用这个方法可以使光标停在input框的最后

4.选取input框中部分内容需要用到Range的moveStart或moveEnd方法, 其详细的方法使用可以参考MSDN.

function sl(o, m, n){
var rt = o.createTextRange();
rt.collapse();
rt.select();//光标置最前
var r = document.selection.createRange();
r.collapse(false);
r.moveStart("character", m);//从m位开始
r.moveEnd("character", n);//选取n位
r.select();
}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

5.再引申一下光标的移动和位置,这个是有人经常问到的问题

function setpos(obj,n)
{
obj.focus();
var r = document.selection.createRange();
r.collapse(false);
r.move("character", n);
r.select();
};

function getpos(obj)
{
obj.focus();//光标位置不变
var r = document.selection.createRange();
r.collapse(false);
r.setEndPoint("StartToStart", obj.createTextRange());
alert(r.text.length);
};

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 用 javascript 实现的点击复制代码

    <title>标题</title> <input type="button" name="Submit" onClick='copyToClipBoard()' value="复制专题地址,传给QQ/MSN上的好友">  <script language="javascript">    function copyToClipBoard(){     var clipBoardC

  • javascript各种复制代码收集

    <input type="button" name="anniu1" onClick='copyToClipBoard()' value="复制专题地址和url地址,传给QQ/MSN上的好友"> <script language="javascript"> function copyToClipBoard(){ var clipBoardContent=""; clipBoardCo

  • 光标定位等TextRange的操作的范例代码

    光标位置 INPUT{border: 1 solid #000000} BODY,TABLE{font-size: 10pt} 点击 TextArea 实现光标定位 我怕来不及我要抱着你,直到感觉你的绉纹有了岁月的痕迹,直到视线变得模糊直到不能呼吸 为了你我愿意 动也不能动也要看着你,直到感觉你的发线有了白雪的痕迹,直到肯定你是真的直到失去力气让我们形影不离 如果全世界我也可以放弃,至少还有你值得我去珍惜而你在这里就是生命的奇迹 也许全世界我也可以忘记,就是不愿意失去你的消息你掌心的痣我总记得在

  • document.selection.createRange方法与实例

    配合 execCommand,在 HTML 编辑器中很有用,比如:文字加粗.斜体.复制.粘贴.创建超链接等. 哈哈.我们都是新生来得.大家都来相互帮助呀.这样我们才能进步,我们才能赚大钱! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这个不错 就是现在文本域里有一段文字,当你选种其中几个字后点击一个按钮或者链接会弹出一个对话框,对话框的信息就是你选中的文字 哪位老大能解决的呀?请多多帮忙!!!谢谢 就是现在文本域里有一段文字,当你选种其中几个字后点击一个按钮或者链接会弹出一个对话

  • js createRange与createTextRange的一些用法实例

    一.返回createTextRange的text和htmlText [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 二.获取指定文本框中的选中的文字:只响应第一个文本框 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 三.页面文本倒序查找 abababababababa [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 四.聚焦控件后把光标放到最后 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 五.得到文本框内光标位置 [Ctrl+A 全选 注:如

  • firefox下javascript实现高亮关键词的方法

    复制代码 代码如下: IE下有:   var range = document.createRange();   FireFox下有:   var range = document.body.createTextRange(); IE下有findText及pasteHTML,但是fireFox下就没有!怎么办?查了好多资料,都没有能说出个所以然的,皇天不负有心人,终于让我给搞出来了! 注:我这里不是用正则替换,因为正则替换有它的不足之处! 不知道先前有没有高人研究过这种方法. Untitled

  • 通过JavaScript脚本复制网页上的一个表格

    测试 测试表格 测试表格 测试表格 测试表格文字 "); // 初始化编辑器 editor.document.body.innerHTML = obj.outerHTML; editor.document.body.createTextRange().select(); // 选中编辑器内所有内容 editor.document.execCommand("copy","",null); // 复制 } function PastClipboardData(

  • 光标的一些操作总结

    IE下的Range操作比Mozilla下强很多,这里只讨论IE下的操作. 这里选介绍几个光标定位的特点: 1.光标不变 直接obj.focus(),光标会返回之前的位置,即位置不变 2.光标在最前 复制代码 代码如下: var r = obj.createTextRange(); r.collapse(); r.select(); 用这个方法可以使光标在input框最前面 3.光标在最后 复制代码 代码如下: var r = obj.createTextRange(); r.collapse(f

  • 小心!Listview结合EditText使用实例中遇到的那些坑

    前几天一同学项目中的某个功能需要ListView+EditText来实现,希望我给他写个Demo,自己就随手写了一个小的Demo.后来想了想觉得这个功能其实挺常用的,而且期间也踩了几个坑,就整理了一下,希望能够帮到大家.好了,废话不多说了,接着就贴代码. 一.编写布局文件 1.activity的布局activity_main <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

  • JDBC连接MySQL并实现模糊查询

    场景: 在学习JDBC的语言中,每次都执行通用的几步:即注册驱动,获取连接,创建操作,处理结果,释放资源 过于复杂,因此不妨将上述步骤封装成工具类,只对外提供方法! 描述: 这是不使用工具类的封装写出来的代码,比较冗余复杂 package com.zdx.JDBC; import java.sql.*; public class JAVA1129_5 { public static void main(String[] args) { //设置空对象,注册驱动,获取连接,创建操作,处理结果集,释

  • IOS 开发之UITextField的光标操作扩展

    IOS 开发之UITextField的光标操作扩展 简介 在iOS开发中,有时候需要完全自主的定义键盘,用于完整的单词输入,例如计算机应用中,需要一次性的输入sin(,在移动光标时要完整的跳过sin(,在删除时也要完整的删除,这就需要对光标的位置进行精确控制,而ios并没有相关的函数可以直接操作光标,只给出了选择某个区域的功能,本文将介绍基于区域选择设计的UITextField扩展,用于获取光标位置以及移动光标. 实现原理 光标位置的获取 在textField中,有一个属性称之为selected

  • 文本域光标操作的jQuery扩展分享

    该针对文本域的扩展实现的功能及使用方法:1.获取光标位置:$(elem).iGetFieldPos():2.设置光标位置:$(elem).iSelectField(start):3.选中指定位置内的字符:$(elem).iSelectField(start,end):4.选中指定的字符:$(elem).iSelectStr(str):5.在光标之后插入字符串:$(elem).iAdd(str):6.删除光标前面(-n)或者后面(n)的n个字符:$(elem).iDel(n): jQuery扩展代

  • Python基础之文件操作及光标移动详解

    目录 一.文件操作 1.文件的概念 2.代码打开文件的方式 二.文件读写模式 1.'r' 只读模式 read 2.'w' 只写模式 write 3.'a' 尾部追写模式 add 三.文件操作模式 1.t 文本模式 2.b 二进制模式 四.文件诸多方法 1.read() 2.for循环 3.line 4.readable 5.write 6.flush 五.文件内光标的移动 1.seek() 2.tell() 一.文件操作 1.文件的概念 1.文件就是计算机暴露给用户操作硬盘的快捷方式 2.计算机

  • pycharm 实现光标快速移动到括号外或行尾的操作

    如下所示: coupon = models.ForeignKey("Coupon", on_delete=models.CASCADE) pycharm中编写程序, 需要将光标快速移动到"" '' () {}[]号外, 实现的方式很简单, 就是在输入一次"" '' () {}[], 例如 "Coupon", 输入完Coupon后,再按一次" 即可跳到"外面,同理单引号,各种括号也是如此 补充:pycharm

  • JDBC中resutset接口操作实例详解

    本文主要向大家展示JDBC接口中resutset接口的用法实例,下面我们看看具体内容. 1. ResultSet细节1 功能:封锁结果集数据 操作:如何获得(取出)结果 package com.sjx.a; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; //1. next方

  • Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码

    读文件: 复制代码 代码如下: #!perlopen filetxt,"/path/a.txt";   #  filetxt为文件句柄,用于和文件a.txt建立链接.文件句柄可任意取名,但不要和Perl自带的几个文件句柄重名.print <filetxt>;                 #  此处print函数用于显示文件a.txt的内容.<>为取行操作符,<文件句柄>用于读取所链接文件的内容.close filetxt;            

随机推荐