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 相关文章推荐
7个Javascript地图脚本整理
Oct 20 Javascript
基于jquery可配置循环左右滚动例子
Sep 09 Javascript
web性能优化之javascript性能调优
Dec 28 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
js中substring和substr两者区别和使用方法
Nov 09 Javascript
用JS动态改变表单form里的action值属性的两种方法
May 25 Javascript
AngularJS自定义指令实现面包屑功能完整实例
May 17 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
vue 实现input表单元素的disabled示例
Oct 28 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 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设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
PHP fclose函数用法总结
2019/02/15 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
python访问sqlserver示例
2014/02/10 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
python 穷举指定长度的密码例子
2020/04/02 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
美国女孩服装购物网站:Justice
2017/03/04 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
银行学习十八大感想
2014/01/11 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
经济贸易系求职信
2014/08/04 职场文书
励志演讲稿200字
2014/08/21 职场文书
党支部书记岗位职责
2015/02/15 职场文书
党支部意见范文
2015/06/02 职场文书
百家讲坛观后感
2015/06/12 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android