加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

JS关于文本输入的相关事件

发布时间:2020-12-15 00:15:56 所属栏目:C语言 来源:网络整理
导读:今天写一个检测input输入内容的进行不同处理的demo,习惯用oninput事件绑定,然后发现oninput不能识别Enter键,故改用onkeypress,但发现无法区分标点逗号,无法实时监控中文输入,然后改用onkeydown,通过检查keyCode的值进行实时监测,虽然又出现其他问题,但

今天写一个检测input输入内容的进行不同处理的demo,习惯用oninput事件绑定,然后发现oninput不能识别Enter键,故改用onkeypress,但发现无法区分标点逗号,无法实时监控中文输入,然后改用onkeydown,通过检查keyCode的值进行实时监测,虽然又出现其他问题,但还能处理。查看了一些资料, 来总结一些文本输入相关的事件;

oninput 是HTML5引入的标准事件,IE9支持,不支持功能键输入;
可通过 'oninput' in document.createElement('input')检测浏览器是否支持

onkeypress,onkeydown,onkeyup 是键盘事件,有keyCode 等属性;
onkeypress : 在按下并放开任何字母数字键时触发,功能键不能响应,自然也就不能区别中英文标点,字母的大小写;
onkeydown: 在按下任意键盘键时触发;
onkeyup: 在松开之前按下的键时触发;

HTML:
input.onkeydown = function(){
  console.log(event);   //按任意键都会触发
  console.log(event.keyCode);  //中文标点符号的时候触发的keyCode 码都是229
  console.log(this.value);  //完整
}
//onkeyup同onkeydown;
</code></pre>

onchange,onpropertychange
onchange:在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效
onpropertychange:不用考虑是否失去焦点,不管js操作还是键盘鼠标手动操作,只要HTML元素属性发生改变即可立即捕获到。遗憾的是,onpropertychange为IE专属的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读