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 相关文章推荐
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
Dec 02 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
May 05 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
Vue.js 十五分钟入门图文教程
Sep 12 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
May 21 Javascript
js实现打字小游戏
Dec 17 Javascript
js实现删除json中指定的元素
Sep 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP与javascript对多项选择的处理
2006/10/09 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
jQuery滚动加载图片效果的实现
2013/03/06 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中%r和%s的详解及区别
2017/03/16 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
基于python求两个列表的并集.交集.差集
2020/02/10 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
365 Tickets英国:全球景点门票
2019/07/06 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
怎么写好自荐书
2014/03/02 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
会计岗位职责
2015/02/03 职场文书
小学生班干部竞选稿
2015/11/20 职场文书