- 浏览: 405173 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (325)
- 数据中台 (15)
- 设计模式 (7)
- 数据结构 (4)
- JavaScript (51)
- 网页设计与制作 (7)
- Flex (4)
- Fckeditor (7)
- Struts (12)
- Spring (19)
- Hibernate (14)
- EJB3.0 (19)
- Java EE 6 (2)
- JSP (22)
- 辅助框架 (9)
- WebService (1)
- XML (8)
- 正则表达式 (5)
- 并发(多线程) (2)
- Java网络 (10)
- 开发工具 (25)
- Oracle (15)
- MySQL (8)
- Git (4)
- SQL Server (2)
- C# (9)
- php (14)
- asp (2)
- ColdFusion (5)
- Tex (1)
- 云游戏 (1)
最新评论
-
CSDNBenbenChong:
...
SQL里desc和asc是什么意思 -
雪狐一号:
非常好 顶一个
SQL里desc和asc是什么意思 -
boyleichinasoft:
thinking...
该如何去使用设计模式呢? -
nforce_com:
写的很好,学习了!不过Student 一般情况下不会删除所有 ...
JPA多对多 -
TaoistWar:
那是FCKEditor的,详细信息只能查看官方文档,或者直接看 ...
1.fckeditor-java-2.5给上传图片添加水印
<html> <head> <title>javascript获取textarea光标选择位置和内容方法(IE, Firefox)</title> <style> body,td{ font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; } </style> <script type="text/javascript"> var start=0; var end=0; function add(){ var textBox = document.getElementById("ta"); var pre = textBox.value.substr(0, start); var post = textBox.value.substr(end); textBox.value = pre + document.getElementById("inputtext").value + post; } function savePos(textBox){ //如果是Firefox(1.5)的话,方法很简单 if(typeof(textBox.selectionStart) == "number"){ start = textBox.selectionStart; end = textBox.selectionEnd; } //下面是IE(6.0)的方法,麻烦得很,还要计算上'\n' else if(document.selection){ var range = document.selection.createRange(); if(range.parentElement().id == textBox.id){ // create a selection of the whole textarea var range_all = document.body.createTextRange(); range_all.moveToElementText(textBox); //两个range,一个是已经选择的text(range),一个是整个textarea(range_all) //range_all.compareEndPoints()比较两个端点,如果range_all比range更往左(further to the left),则 //返回小于0的值,则range_all往右移一点,直到两个range的start相同。 // calculate selection start point by moving beginning of range_all to beginning of range for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++) range_all.moveStart('character', 1); // get number of line breaks from textarea start to selection start and add them to start // 计算一下\n for (var i = 0; i <= start; i ++){ if (textBox.value.charAt(i) == '\n') start++; } // create a selection of the whole textarea var range_all = document.body.createTextRange(); range_all.moveToElementText(textBox); // calculate selection end point by moving beginning of range_all to end of range for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++) range_all.moveStart('character', 1); // get number of line breaks from textarea start to selection end and add them to end for (var i = 0; i <= end; i ++){ if (textBox.value.charAt(i) == '\n') end ++; } } } document.getElementById("start").value = start; document.getElementById("end").value = end; } </script> </head> <body> <form action=""> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td>start: <input type="text" id="start" size="3"/></td> <td>end: <input type="text" id="end" size="3"/></td> </tr> <tr> <td colspan="2"> <textarea id="ta" onKeydown="savePos(this)" onKeyup="savePos(this)" onmousedown="savePos(this)" onmouseup="savePos(this)" onfocus="savePos(this)" rows="14" cols="50"></textarea> </td> </tr> <tr> <td><input type="text" id="inputtext" /></td> <td><input type="button" onClick="add('inputtext')" value="Add Text"/></td> </tr> </table> </form> </body> </html> |
发表评论
-
JS选择select
2010-07-08 18:50 6741.selectIndex <select id= ... -
HTML页面右上用JS导入HTML页面
2010-05-15 08:38 1117if(navigator.appName == "N ... -
12.正则表达式:反向引用
2010-03-17 01:00 3108正则表达式的最重要功 ... -
10.正则表达式:定位点
2010-03-17 00:42 960本节前面的主题中的示 ... -
9.正则表达式:限定符
2010-03-17 00:37 929如果您不能指定构成匹配的字符的数量,那么正则表达式支持限定符的 ... -
5.正则表达式:普通字符
2010-03-17 00:13 658普通字符包括没有显式指定为元字符 的所有可打印和不可打印字符 ... -
4.正则表达式:优先级顺序
2010-03-17 00:11 1458正则表达式从左到右进行计算,并遵循优先级顺序 ,这与算术表达 ... -
1.GET和POST提交
2010-01-25 14:48 9321、服务器端/validateName的Servlet ... -
Ext的xtype:"tabpanel"
2009-10-26 22:55 1264<html> <head&g ... -
Ext.Viewport的border布局
2009-10-26 17:18 1696<html> <head> ... -
IE和FF的回车默认提交
2009-07-13 15:24 8881.当Form里只有一个text表单时,例 <!DOC ... -
JS prototype的使用
2009-06-25 21:17 1072JS的prototype属性用于方法名称的后面,而非JS对象的 ... -
JS nodeType
2009-06-25 19:28 1256语法: elementNode.nodeType 节点 ... -
JS教程--String
2009-06-24 14:25 825JavaScript slice() 方法 ... -
JS的toExponential(num)
2009-06-24 14:16 642toExponential(num) 返回一个以指数 ... -
JS基础知识
2009-06-15 09:51 572document.getElementById(); === ... -
火狐和IE之间的7个JavaScript差异
2009-06-15 09:33 801导读:火狐和IE浏览器在JavaScript 上有 ... -
javascript正则表达式初级应用
2009-06-14 22:51 684元字符:\b :单词的分界符,通常由空格、标点符号、换行符来 ... -
正则表达式
2009-06-14 09:19 591正则表达式语法 <!-- Topic St ... -
一个基于JQuery的登录验证[修正]
2009-06-14 01:51 3393一个基于JQuery的登录验证示例。 &l ...
相关推荐
该方法适用于多种浏览器环境,包括Internet Explorer(IE)和其他基于Mozilla的浏览器(如Firefox)。我们将通过分析提供的代码示例来深入理解其实现原理。 #### 一、实现原理 ##### 1. 兼容性处理 由于不同的...
本文将介绍如何在IE、Firefox和Chrome中获取div编辑框、textarea和input text光标位置的方法,并提供相应的代码示例。 首先,了解不同浏览器对于光标位置获取的支持情况是必要的。例如,IE浏览器使用了document....
在本文中,我们将探讨如何在 textarea 元素中实现光标定位,同时确保兼容 Internet Explorer(IE)和 Firefox(FF)这两种主要的浏览器。 在 textarea 中设置光标位置是一个常见的需求,特别是在用户交互场景中,如...
5. **兼容性**:良好的插件会确保其在各种浏览器(包括主流的Chrome、Firefox、Safari、Edge以及旧版本的IE)中都能正常工作。 6. **事件监听**:插件可能还提供监听光标位置变化的事件,帮助开发者在光标移动时...
在非IE浏览器中,如Firefox、Chrome等,我们可以使用`selectionStart`属性来获取光标的位置。`selectionStart`返回的是光标在文本框中开始选择的字符索引,如果未进行任何选择,那么它就代表了光标所在的位置。 在...
`selectionStart`和`selectionEnd`是现代浏览器(Firefox,Chrome,Safari,Opera)中`<textarea>`和`<input>`元素所支持的属性,它们分别表示选区的起始位置和结束位置。这两个属性可以帮助我们获取或设置用户在...
获取光标位置通常有两种方式:一种是针对IE浏览器的支持,另一种则是对Firefox和其他现代浏览器的支持。 ##### IE支持 对于Internet Explorer(IE)浏览器,可以通过`document.selection`对象来获取光标的位置: ...
如果不支持,那么将检查是否支持textDom.selectionStart,这是非IE浏览器(如Firefox)支持的方式来获取光标位置。 获取光标位置的函数核心在于检测当前浏览器支持哪种方式,并根据不同的浏览器实现不同的逻辑。在...
本文将深入探讨如何用JavaScript获取和设置Input和TextArea元素中的光标位置,并提供兼容性处理的方法。 在获取Input或TextArea元素光标位置时,我们需要区分对待IE浏览器和其他现代浏览器。IE浏览器通过document....
标题“JS在textarea光标处插入文本的小例子”和描述“本实例使用Javascript实现在textarea光标处插入文本,支持多种浏览器”揭示了该文档是关于如何使用JavaScript在网页文本区域(textarea)组件光标所在位置插入...
首先,操作textarea涉及获取和设置光标位置,插入字符串以及选择特定字符等操作。传统上,由于不同浏览器可能使用不同的API来处理这些功能,因此实现一个跨浏览器兼容的方法集变得具有挑战性。 下面将详细解释几个...
Firefox、Chrome等现代浏览器支持`selectionStart`和`selectionEnd`属性,可以直接获取光标位置。而IE浏览器则需要使用`document.selection`对象来获取光标位置。 在我们的示例代码中,我们使用了以下代码来获取...
如果元素是`input`或`textarea`,在Firefox中可以通过检查`selectionStart`属性来确定光标位置。这个属性表示选中文本的起始位置,如果当前没有选中文本,则表示光标位置。 接下来,我们来看看设置光标位置的函数`...
本文将总结一些常用的JavaScript操作textarea的方法,这些方法可以在各种主流浏览器中使用,并通过实际测试验证了兼容性,包括IE6、IE8、Firefox、Chrome、Opera和Safari。 首先,需要了解textarea元素在DOM中的...
对于其他非IE浏览器,如Firefox、Chrome等,可以使用`setSelectionRange()`或`selectionStart`和`selectionEnd`属性来实现相同的功能。不过,这些方法在跨浏览器兼容性上会有所不同,所以在实际开发中,可能需要使用...
在不同的浏览器中,处理光标位置的方法有所不同,主要分为IE浏览器和其他非IE浏览器(如Chrome、Firefox)。 1. **获取光标位置** 对于非IE浏览器,如Chrome和Firefox,可以使用`selectionStart`属性来获取光标...
- 对于现代浏览器(如Firefox、Chrome等)支持的`selectionStart`和`selectionEnd`属性,我们需要获取当前的起始和结束选择位置,然后插入`myValue`到选定的位置。同时,我们还需要保存和恢复textarea的滚动位置,...