• oninput
  • onpropertychange
  • Tip

在开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown、onkeypress、onkeyup 这几个键盘事件来监测的话,监听不了右键的复制、剪贴和粘贴这些操作,处理组合快捷键也很麻烦。
所以,我们可以结合 HTML5 标准事件和 IE 专属事件 onpropertychange 事件来监听输入框值的变化。

oninput

oninput 是 HTML5 的标准事件,对于监测 textarea、input:text、input:password 和 input:search 这几个元素通过用户界面发生的内容变化非常有用,在内容修改后立即被触发,不像 onchange 事件需要失去焦点才触发。oninput 事件的兼容情况如下:

这个事件在用户界面改变或者使用脚本直接修改内容两种情况下都会触发,有以下几种情况:
修改了 input:checkbox 或者 input:radio 元素的选中状态,checked 属性发生变化。
修改了 input:text 或者 textarea 元素的值,value 属性发生变化。
修改了 select 元素的选中项,selectedIndex 属性发生变化。

onpropertychange

IE 下,当一个 HTML 元素的属性改变的时候,都能通过 onpropertychange 来即时捕获。

var input = document.getElementById("input");
input.onpropertychange = function(){console.log("s++");
}

Tip

1、onchange 事件与 onpropertychange 事件的区别:
onchange 事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发;onpropertychange 事件却是实时触发,即每增加或删除一个字符就会触发,通过 JavaScript 改变也会触发该事件,但是该事件 IE 专有。

2、oninput 事件与 onpropertychange 事件的区别:
oninput 事件是 IE 之外的大多数浏览器支持的事件,在 value 改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过 JavaScript 改变 value 时,却不会触发;onpropertychange 事件是任何属性改变都会触发的,而 oninput 却只在 value改变时触发,oninput 要通过 addEventListener() 来注册,onpropertychange 注册方式跟一般事件一样。(此处都是指在 JavaScript 中动态绑定事件,以实现内容与行为分离)

3、oninput 与 onpropertychange 失效的情况:
(1)oninput事件:
a). 当脚本中改变 value 时,不会触发;
b). 从浏览器的自动下拉提示中选取时,不会触发。
(2)onpropertychange 事件:当 input 设置为 disable = true 后,onpropertychange 不会触发。

—————————(正文完)————————————
一个前端的学习交流群,想进来面基的,可以点击这个logo,或者手动search群号:685486827

写在最后: 约定优于配置——-软件开发的简约原则.

——————————– (完)————————————–

我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu

更多学习资源请关注我的新浪微博….

width="100%" height="500" class="share_self" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?language=&width=0&height=550&fansRow=1&ptype=1&speed=0&skin=8&isTitle=1&noborder=1&isWeibo=1&isFans=0&uid=5346488237&verifier=d529ff3a&dpc=1">

实时监听输入框值变化:oninput onpropertychange相关推荐

  1. 实时监听输入框值变化的完美方案:oninput onpropertychange

    实时监听输入框值变化的完美方案:oninput & onpropertychange 原文:实时监听输入框值变化的完美方案:oninput & onpropertychange 在 W ...

  2. jquery实时监听输入框值变化

    在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.而采用onchange时间又往往是在输入框失去焦点(onblur)时候触发,有时候并不能满足条 ...

  3. asp.net监听输入框值的即时变化onpropertychange、oninput

    要达到的效果 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.比如即时显示输入框已经被输入的字节数,或者即时读取输入的值来进行搜索引导,也就是google的 ...

  4. 6- js监听输入框值的即时变化onpropertychange、oninput

    js监听输入框值的即时变化onpropertychange.oninput 标题: js监听输入框值的即时变化onpropertychange.oninput事件 参考: http://m.jb51. ...

  5. angular监听输入框值的变化_angular 实时监听input框value值的变化触发函数方法

    用angulajs + ionic 做了一个登陆页面.效果要通过监听输入框的变化来判断登陆按钮是否可点击.当至少一个输入框为空时登录按钮不可点击.一开始是用的jquery的方法做的,后来发现刷新当前页 ...

  6. javascript监听输入框_html通过JS/jQuery实现 实时监听输入框input的内容

    最近在做一个功能:联想搜索功能.具体实现做法如下:通过实时监听输入框input的内容,来实时发起网络请求,向后台获取联想到的搜索内容并展示到前台.那么该如何实现input的实时监听呢 做法一(jQue ...

  7. JS实时监听DOM元素变化 - MutationObserver

    使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列,接受一个用于监听到DOM元素变化的回调函数 const handleListenCh ...

  8. onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案)

    onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案) 参考文章: (1)onchange监听inpu ...

  9. onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法

    1. onchange事件监听input值变化的使用方法: <input id="test"></input>$("input").ch ...

  10. onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案)...

    转自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件监听input值变化的使用方法: <input id=" ...

最新文章

  1. 京东员工怒怼公司:每天工作到很晚甚至凌晨,你跟我说这是幸福?
  2. c语言 号咋打,C语言C语言中的开头#号如何打? – 手机爱问
  3. mysql数据库存表情报错_mysql数据库存表情报错
  4. 活动最后72小时:购书优惠劵,折后再折,赶紧来抢啊
  5. python3.6里有xhr吗_python – XHR请求URL在尝试解析其内容时不存在
  6. Java中常用的类,包,接口
  7. java程序设计教程(项目式)_《Java程序设计项目化教程(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...
  8. Apache启用GZIP压缩网页传输方法
  9. ubuntu一些记录
  10. 制作数据分析报告的公开数据集资源
  11. 朗读评价语言集锦_教师-课堂评价语言集锦.doc
  12. 用java语言写出青蛙的身份_第三章 JAVA 语言基础
  13. matlab x轴特殊符号,matlab中的特殊符号
  14. 明德扬MODELSIM/仿真问题
  15. 新知实验室 TRTC实时音视频通讯方案在业内的QoS水平
  16. 从祖师级到新生代,48位开发者的「武功秘籍」
  17. MiniUI日期选择框MonthPicker英文修改为中文
  18. 支付宝客户端架构解析:iOS 客户端启动性能优化初探
  19. Maven命令行参数
  20. 智能手机马拉松:后半程是耐力赛

热门文章

  1. 神州信息盘活农村三资,以金融科技服务三农助推乡村振兴
  2. hashmap自定义排序java,如何在Java中对HashMap进行排序
  3. Anaconda 最新版本的下载和安装
  4. 【动画消消乐】HTML+CSS 自定义加载动画 069
  5. Excel常用函数公式20例
  6. Proteus8.版本以上中文教程
  7. 如何根据地理位置获取城市编码 / (高德地图) 获取城市编码API / 经纬度获取城市or城市编码
  8. matlab app designer:夫琅禾费圆孔衍射仿真
  9. 智能工厂信息化系统建设规划
  10. 服务器虚拟化cas,CAS虚拟化建设方案