前端可以用js获取textarea中当前光标位置的行数吗? 50

varnu=Math.floor((event.offsetY+textarea.scrollTop)/20)+1;//光标所在行数这个可以获取到行数。。。但是只能在点击... var nu = Math.floor((event.offsetY+textarea.scrollTop)/20)+1;//光标所在行数
这个可以获取到行数。。。但是只能在点击事件里面生效 有什么办法我要让回车事件里面也能获取到光标所在的行数。是在一个textarea标签中。
展开
 我来答
池新之R4
2019-04-02 · TA获得超过114个赞
知道小有建树答主
回答量:144
采纳率:16%
帮助的人:16万
展开全部
获取不了,你的textare的行数,和你的textarea的样式有很大的关系,已经你的textarea在不同的浏览器会出现可以拉伸和缩短的现象。
追问
这跟样式有什么关系??我想要的结果就是获取到光标位置的行数,
Math.floor((event.offsetY+textarea.scrollTop)/20)+1;这个获取到的行数就不会被样式影响啊。不管它变形成什么样只要取文本域中光标的位置就行了。
先胃向k
2019-04-03 · TA获得超过141个赞
知道小有建树答主
回答量:160
采纳率:90%
帮助的人:36.3万
展开全部
如果你这样:var nu = Math.floor((event.offsetY+textarea.scrollTop)/20)+1;可以获取到,那回车也肯定可以获取到,你搜索一下“回车事件”,js有,回车键就执行的事件的,然后把这个放到回车事件里面就可以了
追问
回车事件没用  这个点击事件里面能取到。
我放代码出来吧
textarea.onclick=function(event){
nu = Math.floor((event.offsetY+textarea.scrollTop)/20)+1;//光标所在行数
};//这里可以取到
//回车触发事件
$("#newpartstexta").keydown(function(){

if(event.keyCode == 13){
//这里写你要执行的事件;
nu = Math.floor((event.offsetY+textarea.scrollTop)/20)+1;//放到这里就取不到
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zwf2zxn
2019-04-04 · TA获得超过289个赞
知道小有建树答主
回答量:270
采纳率:85%
帮助的人:102万
展开全部
你可以在keydown事件里判断e.keyCode = 66(回车键)的时候 再去获取行数
追问
你知道怎么获取行数的办法吗 ? 我上面那串代码貌似不行。
追答
$("#newpartstexta").keydown(function(event){

if(event.keyCode == 13){
//这里写你要执行的事件;
nu = Math.floor((event.offsetY+textarea.scrollTop)/20)+1;//放到这里就取不到
}
});
你的取不到,是因为function参数没写event吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糠今晚略
2019-04-02 · 超过112用户采纳过TA的回答
知道小有建树答主
回答量:607
采纳率:47%
帮助的人:178万
展开全部
夏侯惇 边江
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式