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 相关文章推荐
动态表格Table类的实现
Aug 26 Javascript
jQuery判断checkbox是否选中的小例子
Dec 02 Javascript
无闪烁更新网页内容JS实现
Dec 19 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 Javascript
AngularJS控制器之间的通信方式详解
Nov 03 Javascript
JS中正则表达式全局匹配模式 /g用法详解
Apr 01 Javascript
knockoutjs模板实现树形结构列表
Jul 31 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
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获取网络文件的实现代码
2010/01/01 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
PHP实现事件机制的方法
2015/07/10 PHP
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
JS变量及其作用域
2017/03/29 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
python比较2个xml内容的方法
2015/05/11 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
疾病捐款倡议书
2014/05/13 职场文书
个人党性锻炼总结
2015/03/05 职场文书
音乐教师求职信范文
2015/03/20 职场文书
教师个人教学反思
2016/02/23 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
MySQL 数据丢失排查案例
2021/05/08 MySQL
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python