[原创] [WEB/JavaScript] 取得当前TextArea的光标的位置
来源:互联网 发布:js根据name获取元素 编辑:程序博客网 时间:2024/06/03 15:57
最近在写一个基于web的小东西,需要知道当前TextArea的光标的位置, 在网上搜索了2天,查到的方案不是根本不能用就是太复杂而且有许多问题. 只好自己埋头研究,最后发现其实实现起来非常简单:
这种方法即使在有文字被选中的情况下也可以很好的工作,并不会丢失被选中的文字.
有几点需要说明一下:
1 这里返回的值包括了所有的换行,一个换行占两个字符(/r/n),不需要的话自己过滤一下就行了.个人建议将一个换行当一个字符处理
2 TextRange.text末尾的回车换行会被自动全部去除,所以当光标所在位置前是一个或多个连续的回车换行的话,返回的值将不对.我还没有找到简单有效的办法解决,有谁找到了方法,请记得通知一下我.一个可能的方法是在开始在光标前插入一个字符,结束后将它去掉,但我觉得过于复杂所以没有试.
3 网上很多人提到调用以下方法时会报参数错误,根本原因是TextRange和oRange不是同一个对象产生的,这也是我的代码里第11~12行的原因:将两个range的父对象统一.
TextRange.compareEndPoints(sType, oRange)
TextRange.setEndPoint(sType, oRange)
4 在有文字被选中的情况下,如果是从后往前选中的,即光标停在选择块的前面,在第18句恢复之后光标会跑到选择块末尾,这样使得继续选择(按SHIFT+方向键)失常. 目前我也没有找到有效的解决方法.
- [原创] [WEB/JavaScript] 取得当前TextArea的光标的位置
- 获取 Textarea 的光标位置
- 获取 Textarea 的光标位置
- 获取 Textarea 的光标位置
- Javascript设置和获取Textarea的光标位置的方法
- Ie 和 Firefox 下取得textarea 和 input.text的光标位置
- 获取 Textarea 的光标位置 【转】
- 获取 Textarea 元素当前的光标位置及document.selection.createRange()资料
- 获取Textarea 元素当前的光标位置及document.selection.createRange()资料
- Javascript设置和获取Textarea的光标位置的方法(亲测有用),可定位光标到某个位置
- JavaScript获取光标的位置
- javascript 获得当前光标位置
- INPUT、TEXTAREA以及DIV中控制光标的位置
- jQuery plugin:得到/设置textarea中光标的位置
- Flex中,如何获取TextArea中的光标的位置
- JS获取textarea的光标位置并插入内容
- JS获取textArea中光标位置的方法
- 如何在textarea的光标位置插入文字
- MonsterSLS阶段总结
- 由风扇引起的故障四例
- Windows Server2008 R2 VS SP2
- bcp高效导数据
- Linux SSH命令大全
- [原创] [WEB/JavaScript] 取得当前TextArea的光标的位置
- Jlink v8 gdbserver + eclipse cdt+ yagarto gcc 调试 mini2440 leds 代码
- Android 单模改双模。telephonyProvider修改成问题
- 1.1.7
- 金山毒霸通行证申请助手
- windbg
- 用GDB调试程序
- 如何让ActiveSync直接支持Ethernet连接
- ANDROID GUI