Javascript中如何利用textarea获取光标位置
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇"Javascript中如何利用textarea获取光标位置"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获
千家信息网最后更新 2025年02月24日Javascript中如何利用textarea获取光标位置
这篇"Javascript中如何利用textarea获取光标位置"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Javascript中如何利用textarea获取光标位置"文章吧。
用Javascript获取textarea中的光标位置
Javascript一向以他的灵活随意而著称,这也使得它的功能可以非常的强大,而由于没有比较好的调试工具,又使得它使用起来困难重重,尤其使对于一些初学者,更是感觉到无从下手。今天探讨的问题是用javascript获取textarea中光标的位置。对于写javascript写网页编辑器的人来说,获取textarea中的光标位置是一个非常重要的问题,而往往很多人在这个地方不知所措,找不到好的办法。昨天我在网上找到了一段javascript代码,本来不想把原版放在这里的,就是因为太精彩了,怕我给改坏了,所以还是原版放在这里吧。
varstart=0; varend=0; functionadd(){ vartextBox=document.getElementById("ta"); varpre=textBox.value.substr(0,start); varpost=textBox.value.substr(end); textBox.value=pre+document.getElementById("inputtext").value+post; } functionsavePos(textBox){ //如果是Firefox(1.5)的话,方法很简单 if(typeof(textBox.selectionStart)=="number"){ start=textBox.selectionStart; end=textBox.selectionEnd; } //下面是IE(6.0)的方法,麻烦得很,还要计算上'\n' elseif(document.selection){ varrange=document.selection.createRange(); if(range.parentElement().id==textBox.id){ //createaselectionofthewholetextarea varrange_all=document.body.createTextRange(); range_all.moveToElementText(textBox); //两个range,一个是已经选择的text(range), 一个是整个textarea(range_all) //range_all.compareEndPoints()比较两个端点, 如果range_all比range更往左(furthertotheleft), 则//返回小于0的值,则range_all往右移一点,直到两个range的start相同。 //calculateselectionstartpointbymovingbeginningofrange_alltobeginningofrange for(start=0;range_all.compareEndPoints("StartToStart",range)<0;start++)range_all.moveStart('character',1); //getnumberoflinebreaksfromtextareastarttoselectionstartandaddthemtostart //计算一下\n for(vari=0;i<=start;i++){ if(textBox.value.charAt(i)=='\n') start++; } //createaselectionofthewholetextarea varrange_all=document.body.createTextRange(); range_all.moveToElementText(textBox); //calculateselectionendpointbymovingbeginningofrange_alltoendofrange for(end=0;range_all.compareEndPoints('StartToEnd',range)<0;end++) range_all.moveStart('character',1); //getnumberoflinebreaksfromtextareastarttoselectionendandaddthemtoend for(vari=0;i<=end;i++){ if(textBox.value.charAt(i)=='\n') end++; } } } document.getElementById("start").value=start; document.getElementById("end").value=end; }
下面是在页面中调用js代码的方法:
start: end:
以上就是关于"Javascript中如何利用textarea获取光标位置"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
位置
光标
内容
两个
方法
代码
原版
就是
文章
知识
篇文章
问题
强大
相同
精彩
重要
困难
不知所措
价值
初学者
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库制作个人信息表单
新软件开发出来风险
山东理工网络安全专业分数线
服务器系统破解
奉贤区无线网络技术收费标准
传世开区清空数据库
计算机网络安全的层次
数据库两个字段相加最小值
scott数据库是什么
查找所有数据库语句
数据库在线扩展读库
江西中医药大学网络安全
软件开发怎么记库存
电子邮件的收件服务器
软件开发过程中的文档长什么样
进化2连接私人服务器
网络安全公安警察网站
软件开发岗位职责范本
魔兽世界二区哪个服务器是均衡服
简述生物信息学三大数据库
依图智能服务器
acceaa数据库应用技术
国家网络安全展
湖南最好的软件开发学校
舰团可以跨服务器
数据库访问失败
主流的第三方数据库连接池
网络安全突发事件应急处理方法
高邑应用软件开发服务咨询报价
可靠的kanzi软件开发