js与jquery实时监听输入框值的oninput与onpropertychange方法


Posted in Javascript onFebruary 05, 2015

本文实例讲述了js与jquery实时监听输入框值的oninput与onpropertychange方法。分享给大家供大家参考。具体如下:

最近做过一个项目,需求是下拉框里自动匹配关键字,具体细节是实时监听文本框 value 值的变化,然后匹配相关内容。

初接项目,首先想到的是 JQ 里的 change,但是马上排除此方法,因为 change 是在文本框失去焦点时才会触发。曲线救国一下,想到用 keydown 来解决。其他一切还好,只是当不通过键盘操作,而是通过鼠标来复制粘贴时,这个事件是无法触发的。所以这个方法也排除掉了。

然后,查询了一些相关资料,发现只有原生 js 的 oninput & onpropertychange 符合此要求,接着便去 JQ 的 API 里去找符合的方法,很失望,并未找到,但是 bind 确实会绑定类似的事件,那便是 input & propertychange,通过测试,确实是没问题的。

现在将例子奉上:

JQ:

$('input').bind('input propertychange', function() { 
 //进行相关操作 
});

其中:propertychange 是为了兼容 IE9 以下版本的。

JS中的 oninput 事件在 IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代,这个事件在用户界面改变或者使用脚本直接修改内容两种情况下都会触发,有以下几种情况:

修改了 input:checkbox 或者 input:radio 元素的选择中状态, checked 属性发生变化。

修改了 input:text 或者 textarea 元素的值,value 属性发生变化。
修改了 select 元素的选中项,selectedIndex 属性发生变化。
JS:

if(isIE) 
{ 
 document.getElementById("input").onpropertychange = keys(); 
} 
else //需要用addEventListener来注册事件 
{ 
 document.getElementById("input").addEventListener("input", keys, false);
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js拦截alert对话框另类应用
Jan 16 Javascript
php中给js数组赋值方法
Mar 10 Javascript
JS采用绝对定位实现回到顶部效果完整实例
Jun 20 Javascript
原生js仿jquery animate动画效果
Jul 13 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
对vux点击事件的优化详解
Aug 28 Javascript
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
moment.js轻松实现获取当前日期是当年的第几周
Feb 05 #Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 #Javascript
Javascript数组操作函数总结
Feb 05 #Javascript
Javascript毫秒数用法实例
Feb 05 #Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 #Javascript
node.js集成百度UE编辑器
Feb 05 #Javascript
浅谈JavaScript中Date(日期对象),Math对象
Feb 05 #Javascript
You might like
PHP JSON 数据解析代码
2010/05/26 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
python异常处理和日志处理方式
2019/12/24 Python
Python @property装饰器原理解析
2020/01/22 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
预备党员思想汇报
2014/01/08 职场文书
六一儿童节主持词
2014/03/21 职场文书
企业宗旨标语
2014/06/10 职场文书
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
英语教师求职信范文
2015/03/20 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
《正比例》教学反思
2016/02/23 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle