一、 onkeydown、onkeypress、onkeyup
注意: 监听事件监测不到右键的复制、粘贴、剪切等操作(获取实时改变值不建议使用这三种方法)
onkeydown : 按下键盘的任意键立即触发,不过它是先触发再赋值,所以你当前按下的键值不会被算在你拿取的值中
onkeypress:不会为所有键(例如ALT,CTRL,SHIFT,ESC)触发onkeypress事件,如果需要请使用onkeydown事件
onkeyup : 释放按键时触发,例如你要粘贴数据,在你按下Ctrl还没有释放时不会触发此事件要等你按完V,松开手才会触发
二、实时监听输入框变化的完美方案 oninput & onpropertychange
介绍: oninput & onpropertychange , 可以对修改的值进行实时监听,即值只要发生变化就会触发,不想 blur等,需要鼠标光标失焦才会触发!
注意 :oniput 事件在 IE9 以下版本不支持,需要使用IE特有的 onpropertychange 来支持
使用:
1.标签行内使用(这种方法一般是不会有事件监测不到的现象,而用第二种,可能你渲染出来的input恐怕不一定能监测到,如果可以还望大神留言)
1 <!--这里面的Demo,毋庸置疑就是Js方法,即事件触发后响应的方法--> 2 <input oninput="Demo(event)" onporpertychange="Demo(event)" />
2.Jquery中使用 (同时绑定 oninput 和 onpropertychange 两个事件)
1 $(‘input‘).bind(‘input propertychange‘,function(event) 2 { 3 alert($(this).val()) 4 })
使用的标签:
1.input:checkbox(复选框)、input:radio(单选框) 的Checked属性发生变化
2. textarea、select(这个在layui select中好像没有作用)
原文:https://www.cnblogs.com/XiangZiPeng/p/12178999.html