js实时监听input输入框值的变化以便即使匹配搜索项

删除回忆录丶 提交于 2019-12-03 02:30:25

问题说明

       在含有搜索框的网页中,经常需要及时匹配搜索项,因此需要监听input输入框的变化事件。如果使用 onkeydown、onkeypress、onkeyup 这个几个键盘事件来监测的话,除了监听不了右键的复制、剪贴和粘贴这些操作以外,在输入中文的拼音时同样触发,增加请求数不说还浪费流量。

解决方案

       本文结合标准的oninput 和 IE 专属事件 onpropertychange 事件来监听输入框值变化。oninput 是 HTML5 的标准事件,对于检测 textarea, input:text, input:password 和 input:search 这几个元素通过用户界面发生的内容变化非常有用,在内容修改后立即被触发,不像 onchange 事件需要失去焦点才触发。

浏览器支持

代码实现

$().ready(function(){
	//页面加载完毕绑定输入框的oninput事件
	var bind_name='input';
	if(navigator.userAgent.indexOf("MSIE")!=-1) {
		bind_name='propertychange';
	}
	$('input').on(bind_name, function() {
		do something...
	});
});

参考链接:http://www.runoob.com/jsref/event-oninput.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!