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播放wav文件(源码)
Apr 22 Javascript
jQuery判断iframe中元素是否存在的方法
May 11 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
jquery获取当前日期的方法
Jan 14 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 Javascript
兼容浏览器的js事件绑定函数(详解)
May 09 Javascript
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
微信小程序下拉刷新界面的实现
Sep 28 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
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和ACCESS写聊天室(三)
2006/10/09 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
js获取单选按钮的数据
2006/11/27 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
JavaScript模块详解
2017/12/18 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
python能做什么 python的含义
2019/10/12 Python
Python 使用type来定义类的实现
2019/11/19 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
物业消防安全责任书
2014/07/23 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
无犯罪记录证明
2014/09/19 职场文书
2014年度个人总结范文
2015/03/09 职场文书
《检阅》教学反思
2016/02/22 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js