JavaScript记录光标在编辑器中位置的实现方法
本文实例讲述了JavaScript记录光标在编辑器中位置的实现方法。分享给大家供大家参考,具体如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>无标题文档</title> </head> <body> <scripttype="text/javascript"> function$(ele){returndocument.getElementById(ele)} //记录编辑器中的位置 varselection_start; varselection_end; functionsavePos(textBox){ varstart=0; varend=0; if(typeof(textBox.selectionStart)=="number"){//notie //alert(typeof(textBox.selectionStart)); start=textBox.selectionStart; end=textBox.selectionEnd; } elseif(document.selection){ varrange=document.selection.createRange(); if(range.parentElement().id==textBox.id){ varrange_all=document.body.createTextRange(); range_all.moveToElementText(textBox); for(start=0;range_all.compareEndPoints("StartToStart",range)<0;start++) range_all.moveStart('character',1); for(vari=0;i<=start;i++){ if(textBox.value.charAt(i)=='/n') start++; } varrange_all=document.body.createTextRange(); range_all.moveToElementText(textBox); for(end=0;range_all.compareEndPoints('StartToEnd',range)<0;end++) range_all.moveStart('character',1); for(vari=0;i<=end;i++){ if(textBox.value.charAt(i)=='/n') end++; } } } selection_start=start; selection_end=end; } </script> <formaction=""id="test"> <textareaid="t"onfocus="savePos(this);$('log').value=selection_start"onkeydown="savePos(this);$('log').value=selection_start"onmousedown="savePos(this);$('log').value=selection_start"onmouseup="savePos(this);$('log').value=selection_start"> </textarea> <inputtype="text"id="log"/> </form> </body> </html>
更多关于JavaScript相关内容可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。