- 浏览: 209278 次
- 性别:
- 来自: 北京
最新评论
-
Relucent:
likaiyihou51 写道The constructor ...
获得Hibernate Criteria实际SQL的方法 -
likaiyihou51:
The constructor CriteriaJoinWal ...
获得Hibernate Criteria实际SQL的方法 -
likaiyihou51:
大侠 我copy了这个代码 又个问题,能给看一下吗
获得Hibernate Criteria实际SQL的方法 -
haisee:
管用,Firefox和Chrom验证通过。
Javascript设置和获取Textarea的光标位置的方法 -
wanghaosvse:
请问楼主,有没有跟数据库同步的动态加载
带选择框的JS树控件2 (为JSTree再次提速)
<html><head> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>JS设置及获取Textarea的光标位置</title> <script> var isIE = !(!document.all); function posCursor(){ var start=0,end=0; var oTextarea = document.getElementById("textarea"); if(isIE){ //selection 当前激活选中区,即高亮文本块,和/或文当中用户可执行某些操作的其它元素。 //createRange 从当前文本选中区中创建 TextRange 对象, //或从控件选中区中创建 controlRange 集合。 var sTextRange= document.selection.createRange(); //判断选中的是不是textarea对象 if(sTextRange.parentElement()== oTextarea){ //创建一个TextRange对象 var oTextRange = document.body.createTextRange(); //移动文本范围以便范围的开始和结束位置能够完全包含给定元素的文本。 oTextRange.moveToElementText(oTextarea); //此时得到两个 TextRange //oTextRange文本域(textarea)中文本的TextRange对象 //sTextRange是选中区域文本的TextRange对象 //compareEndPoints方法介绍,compareEndPoints方法用于比较两个TextRange对象的位置 //StartToEnd 比较TextRange开头与参数TextRange的末尾。 //StartToStart比较TextRange开头与参数TextRange的开头。 //EndToStart 比较TextRange末尾与参数TextRange的开头。 //EndToEnd 比较TextRange末尾与参数TextRange的末尾。 //moveStart方法介绍,更改范围的开始位置 //character 按字符移动 //word 按单词移动 //sentence 按句子移动 //textedit 启动编辑动作 //这里我们比较oTextRange和sTextRange的开头,的到选中区域的开头位置 for (start=0; oTextRange.compareEndPoints("StartToStart", sTextRange) < 0; start++){ oTextRange.moveStart('character', 1); } //需要计算一下\n的数目(按字符移动的方式不计\n,所以这里加上) for (var i = 0; i <= start; i ++){ if (oTextarea.value.charAt(i) == '\n'){ start++; } } //再计算一次结束的位置 oTextRange.moveToElementText(oTextarea); for (end = 0; oTextRange.compareEndPoints('StartToEnd', sTextRange) < 0; end ++){ oTextRange.moveStart('character', 1); } for (var i = 0; i <= end; i ++){ if (oTextarea.value.charAt(i) == '\n'){ end++; } } } }else{ start = oTextarea.selectionStart; end = oTextarea.selectionEnd; } document.getElementById("start").value = start; document.getElementById("end").value = end; } function moveCursor(){ var oTextarea = document.getElementById("textarea"); var start = parseInt(document.getElementById("start").value); var end = parseInt(document.getElementById("end").value); if(isNaN(start)||isNaN(end)){ alert("位置输入错误"); } if(isIE){ var oTextRange = oTextarea.createTextRange(); var LStart = start; var LEnd = end; var start = 0; var end = 0; var value = oTextarea.value; for(var i=0; i<value.length && i<LStart; i++){ var c = value.charAt(i); if(c!='\n'){ start++; } } for(var i=value.length-1; i>=LEnd && i>=0; i--){ var c = value.charAt(i); if(c!='\n'){ end++; } } oTextRange.moveStart('character', start); oTextRange.moveEnd('character', -end); //oTextRange.collapse(true); oTextRange.select(); oTextarea.focus(); }else{ oTextarea.select(); oTextarea.selectionStart=start; oTextarea.selectionEnd=end; } } </script> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td>start: <input type="text" id="start" size="3" value="0"/></td> <td>end: <input type="text" id="end" size="3" value="0"/></td> </tr> <tr> <td colspan="2"> <textarea id="textarea" onKeydown="posCursor()" onKeyup="posCursor()" onmousedown="posCursor()" onmouseup="posCursor()" onfocus="posCursor()" rows="14" cols="50">虞美人 春花秋月何时了,往事知多少。 小楼昨夜又东风,故国不堪回首月明中! 雕l栏玉砌应犹在,只是朱颜改。 问君能有几多愁?恰似一江春水向东流。</textarea> </td> </tr> <tr> <td></td> <td><input type="button" onClick="moveCursor()" value="设置光标位置"/></td> </tr> </table> </body> </html>
评论
6 楼
haisee
2012-11-13
管用,Firefox和Chrom验证通过。
5 楼
cucumber
2010-08-08
chrome 兼容吗???
4 楼
ksqqxq
2010-08-05
正在找这样的东东呢!
3 楼
xieboxin
2010-07-25
经过我测试,IE,FF,Opera都没问题。
感谢楼主!
感谢楼主!
2 楼
la_ka
2010-07-25
看代码也知道LZ是IE兼容拉。。。
1 楼
dreampuf01
2010-07-22
以前看过一个..IE only.....这个兼容否?.
发表评论
-
【转】Closure Compiler 高级模式及更多思考(js文件压缩工具 )
2011-03-16 13:05 1991【转】Closure Compiler 高级模式及更多思考 ... -
Base64编码解码(JavaScript版本)
2010-12-17 10:24 2849<html> <HTML> < ... -
JavaScript 中2个等号与3个等号的区别
2010-12-07 13:21 25379首先,== equality 等同,=== identity ... -
JS前端获取上传文件的大小的方法
2010-11-01 11:04 23531WEB应用中,经常会遇到上传附件的问题,比如有时候会有限制附件 ... -
ExtJS 3.1.0 中Ext.data.Store关于baseParams的BUG修正
2010-07-15 09:59 4998ExtJs 中,我们使用GirdPanel的时候往往需要给后 ... -
JavaScript JSON 对象深拷贝方法(一例)
2010-07-14 20:08 6505其实深拷贝一个JS对象方法十分简单,只需要两部 1.首先将J ... -
关于Extjs异步session超时问题处理
2010-07-08 17:46 4049关于Extjs异步session超时问题处理对于HTTP超时的 ... -
ExtJS 的组建扩展方法
2010-07-08 17:19 2265ExtJS 是一个不错的JS 类库,提供了很多组建。 ... -
JS 地图移动拖拽
2010-05-26 09:06 2808很简单的东东,就是类似google地图那样,可以拖拽图片。 ... -
JS移动的方块
2010-05-21 09:00 1410PS:WASD上下左右,双击加速. 同时按下WASD任意2个按 ... -
JS对象序列化为JSON对象
2010-04-17 10:07 10718/** * JSON 解析类 * Copyright ... -
JavaScript日期格式化
2010-03-17 11:17 1583DateFormat = (function(){ ... -
Ext智能提示 - Spket(Eclipse插件)
2009-10-23 13:01 2008Spket是Eclipse的一个插件,RIA的开发工具。支持J ... -
带选择框的JS树控件2 (为JSTree再次提速)
2009-10-14 12:00 9575以前写过一个带选择框的JS树控件 但是当时发现一个问题,第一次 ... -
带选择框的JS树控件
2009-10-12 11:09 2113前阵子自己写了个带选择框的tree控件,虽然还有一些bug没有 ... -
多附件上传
2008-10-29 23:48 1509uploads.js var UploadBuilder=(f ... -
HTML通过button触发input-file控件上传文件的问题
2008-10-20 10:32 25653出于安全方面的考虑,通过JS修改input-file的valu ... -
模拟线程Timer(JS)
2008-09-22 09:06 1896<script language="Java ... -
转换Unicode (JS)
2008-09-02 17:34 2642<html> <head> ... -
JS-Cookie
2008-08-05 11:33 1359/** * cookie管理对象 */ Cook ...
相关推荐
在JavaScript编程中,获取和设置光标位置是常见的需求,特别是在与用户交互的表单元素如`<input>`和`<textarea>`中。这涉及到DOM(文档对象模型)操作和事件处理,对于创建动态和响应式的网页应用至关重要。本文将...
例如,以下代码可以获取`Textarea`的光标位置: ```javascript var textarea = document.getElementById('myTextarea'); var cursorPos = textarea.selectionStart; ``` 然后,需要监听用户的输入事件,比如`...
### 在Textarea光标处插入...本文详细介绍了如何在`textarea`的光标位置插入文本的方法,包括IE和非IE浏览器的兼容性处理。通过分析提供的代码示例,我们不仅了解了其实现原理,还学习了如何在实际项目中应用这些知识。
总的来说,JavaScript获取光标位置是通过访问`input`元素的`selectionStart`和`selectionEnd`属性或使用`window.getSelection()`来实现的。在实际开发中,结合jQuery等库,可以更方便地处理这类需求。对于提供的...
通过以上介绍,我们可以了解到在JavaScript中获取光标位置的基本原理和技术细节。这不仅有助于我们更好地理解用户的行为,还能为用户提供更加友好的交互体验。希望本文能帮助你在实际项目中有效地利用这些技术点。
对于写javascript写网页编辑器的人来说,获取textarea中的光标位置是一个非常重要的问题,而往往很多人在这个地方不知所措,找不到好的办法。昨天我在网上找到了一段javascript代码,本来不想把原版放在这里的,就是...
"获取和设置输入框光标位置的插件"就是这样一个工具,它允许开发者方便地获取或设定文本输入框中的光标位置,从而提升应用的功能性和用户友好性。 首先,我们需要理解光标在输入框中的作用。光标是用户输入时的指示...
有时,开发者需要获取或操作文本框中的焦点光标位置、选中起始位置、终止位置以及选中的内容,这对于实现诸如高亮显示、文本编辑、格式化等功能至关重要。在本文中,我们将深入探讨这些概念,并提供兼容IE8的解决...
在IT领域,特别是前端开发中,使用JavaScript在`textarea`元素的光标位置插入内容是一项常见且实用的技术。本文将详细解析如何实现这一功能,并深入理解其背后的逻辑与原理。 ### 核心知识点:在`textarea`光标处...
本文通过判断浏览器类型和版本,使用不同的方法获取和设置光标位置。 5. 文本操作:在textarea中插入文本时,需要对现有文本进行截取和拼接操作。这需要使用JavaScript字符串的相关方法,如substring()、length等。...
在JavaScript中,获取和设置光标...以上就是关于JavaScript获取和设置`Input`和`TextArea`元素光标位置的详细解释,包括了兼容性处理的实现。这些方法能够帮助你在各种浏览器环境中控制用户的输入焦点,提升用户体验。
本文将介绍如何在IE、Firefox和Chrome中获取div编辑框、textarea和input text光标位置的方法,并提供相应的代码示例。 首先,了解不同浏览器对于光标位置获取的支持情况是必要的。例如,IE浏览器使用了document....
在JavaScript中,操作文本输入域,如`<textarea>`,涉及到光标位置的处理时,通常需要使用到浏览器提供的API。对于不同的浏览器,这些API可能会有所差异。在处理`<textarea>`光标位置插入文字并移动光标到文字末尾的...
- 若要在文本框内移动光标,可以结合设置光标位置和触发`focus`事件,确保光标移动后依然可见。例如,`$("#myTextBox").focus().setSelectionRange(newPosition, newPosition)`。 6. **插件使用**: - 压缩包中的...
获取输入框中的光标位置的整个代码其实很短,只是这些对象和方法不太常用而已。下面是一个使用JavaScript获取输入框中光标的位置的代码: ```javascript function GetCursorPsn(txb) { var slct = document....
在网页开发中,有时我们需要动态地获取或设置文本输入框中的光标位置,以及获取或选中用户已经选中的文本。本文将介绍如何使用JavaScript来实现这些功能。 首先,我们来看看如何获取光标的位置。可以通过一个名为...
这个简单的Vue与HTML结合的示例展示了如何在用户输入时实时获取textarea中的选中文本和光标位置。在实际项目中,你可以根据需求扩展这个功能,比如增加字符计数、格式检查或其他高级功能。通过Vue.js的强大功能和...
特别是在交互式应用中,我们经常需要获取或设置用户输入时的光标位置、选中文字的起始和终止位置,以及获取选中的文字内容。这些功能可以帮助我们实现更丰富的用户交互体验,比如自动补全、高亮显示等。以下是对这些...
本文将深入探讨如何用JavaScript获取和设置Input和TextArea元素中的光标位置,并提供兼容性处理的方法。 在获取Input或TextArea元素光标位置时,我们需要区分对待IE浏览器和其他现代浏览器。IE浏览器通过document....