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 相关文章推荐
javascript 触发事件列表 比较不错
Sep 03 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
js格式化时间小结
Nov 03 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
javascript实现右下角广告框效果
Feb 01 Javascript
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
vue3.0 搭建项目总结(详细步骤)
May 20 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
微信小程序用canvas画图并分享
Mar 09 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提取中文首字母
2008/04/09 PHP
PHP常用函数小技巧
2008/09/11 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
python实现ip代理池功能示例
2019/07/05 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
高一学生评语大全
2014/04/25 职场文书
医院信息公开实施方案
2014/05/09 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
苏州园林导游词
2015/02/03 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
python 镜像环境搭建总结
2022/09/23 Python