- 浏览: 207047 次
- 性别:
- 来自: 北京
最新评论
-
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 1957【转】Closure Compiler 高级模式及更多思考 ... -
Base64编码解码(JavaScript版本)
2010-12-17 10:24 2795<html> <HTML> < ... -
JavaScript 中2个等号与3个等号的区别
2010-12-07 13:21 25327首先,== equality 等同,=== identity ... -
JS前端获取上传文件的大小的方法
2010-11-01 11:04 23482WEB应用中,经常会遇到上传附件的问题,比如有时候会有限制附件 ... -
ExtJS 3.1.0 中Ext.data.Store关于baseParams的BUG修正
2010-07-15 09:59 4967ExtJs 中,我们使用GirdPanel的时候往往需要给后 ... -
JavaScript JSON 对象深拷贝方法(一例)
2010-07-14 20:08 6465其实深拷贝一个JS对象方法十分简单,只需要两部 1.首先将J ... -
关于Extjs异步session超时问题处理
2010-07-08 17:46 4001关于Extjs异步session超时问题处理对于HTTP超时的 ... -
ExtJS 的组建扩展方法
2010-07-08 17:19 2224ExtJS 是一个不错的JS 类库,提供了很多组建。 ... -
JS 地图移动拖拽
2010-05-26 09:06 2770很简单的东东,就是类似google地图那样,可以拖拽图片。 ... -
JS移动的方块
2010-05-21 09:00 1362PS:WASD上下左右,双击加速. 同时按下WASD任意2个按 ... -
JS对象序列化为JSON对象
2010-04-17 10:07 10606/** * JSON 解析类 * Copyright ... -
JavaScript日期格式化
2010-03-17 11:17 1554DateFormat = (function(){ ... -
Ext智能提示 - Spket(Eclipse插件)
2009-10-23 13:01 1977Spket是Eclipse的一个插件,RIA的开发工具。支持J ... -
带选择框的JS树控件2 (为JSTree再次提速)
2009-10-14 12:00 9499以前写过一个带选择框的JS树控件 但是当时发现一个问题,第一次 ... -
带选择框的JS树控件
2009-10-12 11:09 2079前阵子自己写了个带选择框的tree控件,虽然还有一些bug没有 ... -
多附件上传
2008-10-29 23:48 1480uploads.js var UploadBuilder=(f ... -
HTML通过button触发input-file控件上传文件的问题
2008-10-20 10:32 25571出于安全方面的考虑,通过JS修改input-file的valu ... -
模拟线程Timer(JS)
2008-09-22 09:06 1862<script language="Java ... -
转换Unicode (JS)
2008-09-02 17:34 2594<html> <head> ... -
JS-Cookie
2008-08-05 11:33 1321/** * cookie管理对象 */ Cook ...
相关推荐
JavaScript获取,设置光标位置,兼容InputTextArea
对于写javascript写网页编辑器的人来说,获取textarea中的光标位置是一个非常重要的问题,而往往很多人在这个地方不知所措,找不到好的办法。昨天我在网上找到了一段javascript代码,本来不想把原版放在这里的,就是...
JavaScript 获取/设置光标位置,兼容Input&&TextArea。 body { margin: 32px; font-family: Verdana, sans-serif; font-size: 13px; } .title { font-size: 18px; font-weight: bolder;margin:40px 0; } .input { ...
javascript获得光标所在的文本框(text textarea)中的位置.docx
JavaScript 获取/设置光标位置,兼容Input&&TextArea:项目中遇到的问题,特此记录。
9.15 表格设置为“100%”时获取表格的宽度 9.16 表格选中后变色 9.17 表格中隐藏下级表格 9.18 表格自动下移 9.19 动态创建固定列数的表格 9.20 动态改变表格列宽 9.21 动态改变表格的行顺序 9.22 动态生成包含合并...
js获得光标所在的文本框(text/textarea)中的位置 jb51 HELLO! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
9.15 表格设置为“100%”时获取表格的宽度 9.16 表格选中后变色 9.17 表格中隐藏下级表格 9.18 表格自动下移 9.19 动态创建固定列数的表格 9.20 动态改变表格列宽 9.21 动态改变表格的行顺序 9.22 动态生成包含合并...
获取/设置光标位置和所选范围 在光标位置插入文本 用文字替换所选范围 处理浏览器之间的行尾差异 选择/取消选择任何元素中的所有文本 原料药 脱字号 $.fn.caret() 在单个点上询问并操纵输入字段的光标位置,而无需...
用来操作textarea的字符选择与获取选择状态的,对textarea插入字符操作的小类库。常用于社交类发布、评论类的操作。 ##1.2、Selection目前有哪儿些内容? 获取字符选择状态 设置字符选择范围 指定位置插入字符 连续...
-增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正...
-增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正...
如果想实现更加复杂的交互应用,或者希望xhEditor编辑器能够和自己的Javascript代码实现互相访问,那么你可以选择使用方法2,相对具有更大的自由空间。 xhEditor也提供了即时的卸载编辑器方法: $('#elm1')....
Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...