在 textarea 中光标位置插入字符串
来源:互联网 发布:罅隙歌词 知乎 编辑:程序博客网 时间:2024/05/21 11:31
好久没晒代码了。今天心情不错,搬出来晒晒太阳。
var getCursorEndPosition = function (textarea) { textarea.focus(); // 首先当然要设为选中了 if (textarea.setSelectionRange) { // W3C return textarea.selectionEnd; } else if (document.selection) { // IE var i = 0, oS = document.selection.createRange(), // 当前选中区域,记录了当前光标起始和结束位置的信息,可和 oR 进行对比得出当前光标位置。 oR = document.body.createTextRange(); // 不可使用 oR = textarea.createTextRange(), 否则不可与 oS 进行 compareEndPoints。 oR.moveToElementText(textarea); oS.getBookmark(); for (i = 0; oR.compareEndPoints("StartToStart", oS) < 0 && oS.moveStart("character", -1) !== 0; i ++) { if (textarea.value.charAt(i) == '/n') { // 换行 +1。 i ++; } } return i; } }var insertString = function () { var $comment = $("#comment"); var endPosition = getCursorEndPosition($comment[0]); var key = this.className, textValue = $comment[0].value; textValue = textValue.substring(0, endPosition) + key + textValue.substring(endPosition, textValue.length); $("#comment" + name).val(textValue); if ($.browser.msie) { // 出现换行时,位置应 -1。 endPosition -= textValue.split('/n').length - 1; var oR = $comment[0].createTextRange(); oR.collapse(true); oR.moveStart('character', endPosition + 6); oR.select(); } else { $comment[0].setSelectionRange(endPosition + 6, endPosition + 6); } }); }
本文是使用 B3log Solo 从 Vanessa 进行同步发布的
原文地址:http://vanessa.b3log.org/textarea-cursor-insert-string
- 在 textarea 中光标位置插入字符串
- 在TextArea中光标位置插入值
- 在Textarea中插入元素(光标位置)
- 用JavaScirpt在Textarea中插入元素(光标位置)
- 按光标位置在TEXTAREA中插入内容
- Ext TextArea 在光标位置插入文本
- activity中edittext如何在光标位置插入一个字符串
- 如何在textarea的光标位置插入文字
- EditText在光标位置插入字符串
- JS在TextArea光标位置插入文字+移动光标到文字末尾
- JS在TextArea光标位置插入文字+移动光标到文字末尾
- JS在TextArea光标位置插入文字+移动光标到文字末尾
- 【记录】JS在TextArea光标位置插入文字+移动光标到文字末尾
- 点击鼠标在textarea中光标当前位置插入指定字符
- js实现textarea中光标位置插入你想要插入的内容
- JS定位光标在textarea中的位置
- 在textarea光标指定地方插入内容
- EXT 在textarea的光标处插入
- N82内存越用越少--终级解决方案
- 用VLC+MFC做播放器
- 数据库新技术探讨(太老了!给朋友们分享一下吧)
- 安装EVC过程中可能出现的问题
- Linux下Gnome桌面/快捷键配置
- 在 textarea 中光标位置插入字符串
- Oracle自增主键的函数
- [转]linux 下取进程占用 cpu/内存 最高的前10个进程
- 视频 截图
- C++操作MySQL (The MySQL C API)
- 冒泡排序实例(C#)
- Pascal
- system("cls") 是什么意思
- IE6 下JS改变IMG标签SRC不显示的问题[终级方法]