失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 在js中如何实现监控文本框输入字数(详细教程)

在js中如何实现监控文本框输入字数(详细教程)

时间:2022-10-05 15:04:52

相关推荐

在js中如何实现监控文本框输入字数(详细教程)

web前端|js教程

实时监控,文本框,输入字数

web前端-js教程

下面我就为大家分享一篇实时监控文本框输入字数的实例代码,具有很好的参考价值,希望对大家有所帮助。

.net 在线考试源码,如何用vscode更改颜色,ubuntu 桌面黑,tomcat内存最大配置,禁止爬虫txt,php图片验证码识别,望江seo优化哪家价格便宜,网站源代码分类,html5 css 模板lzw

需求:实时监控文本输入框的字数,并加以限制

ucos源码,ubuntu+ip动态,接单爬虫的平台,php商户,seo没基础lzw

借还系统 源码,vscode好用主题,sql ubuntu,tomcat项目报错,远程连接sqlite3,网易云音乐Discuz插件,前端框架师在上海工资多少,网页图片爬虫快捷指令大全,php安装curl扩展,byeong-seo kim,美食网站源代码,微信网页版 图片 htm,中国金融培训在线网站模板下载lzw

1、实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度。如:

0/10

var txt = document.getElementById("txt"); var txtNum = document.getElementById("txtNum"); txt.addEventListener("keyup", function(){ txtNum.textContent = txt.value.length; })

此时已可以完成基本的监控功能,存在的问题:当输入英文时正常,但输入中文时,监控的数字会随拼音长度而变化。

2、解决方法:

compositionstart 事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作、语音识别或者点击输入法的备选词)。

compositionend 就是对应的就是一段文字输入的事件。

这两个属性有点类似于“开关”,如:开始进行中文输入的拼音时开关打开,不在改变监测得到的长度数值,完整输入一个或是一串文字后,开关关闭,得到监测的数值长度。

var txt = document.getElementById("txt"); var txtNum = document.getElementById("txtNum"); var sw = false; //定义关闭的开关 txt.addEventListener("keyup", function(){ if(sw == false){ countTxt(); } }); txt.addEventListener("compositionstart", function(){ sw = true; }); txt.addEventListener("compositionend", function(){ sw = false; countTxt(); }); function countTxt(){ //计数函数 if(sw == false){ //只有开关关闭时,才赋值 txtNum.textContent = txt.value.length; } }

在vue中的写法:

template:

{{conterNum}}/300

data:

textContent: \,conterNum: 0,chnIpt: false,

methods:

write() { let self = this; if (self.chnIpt == false) { self.conterNum = self.textContent.length; }},importStart() { this.chnIpt = true;},importEnd() { this.chnIpt = false; this.write();}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用axios封装fetch方法和调用

在JS中Map和ForEach的区别有哪些?

在vue中如何实现页面加载进度条组件

javascript该如何实现获取日期段内每天不同的价格

在vue中如何实现图片loading组件

为什么Node.js会成为Web应用开发?

在javascript中如何实现最长公共子序列

如果觉得《在js中如何实现监控文本框输入字数(详细教程)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。