js實時監聽input輸入框值的變化以便即便匹配搜索項

問題說明

       在含有搜索框的網頁中,常常須要及時匹配搜索項,所以須要監聽input輸入框的變化事件。若是使用 onkeydown、onkeypress、onkeyup 這個幾個鍵盤事件來監測的話,除了監聽不了右鍵的複製、剪貼和粘貼這些操做之外,在輸入中文的拼音時一樣觸發,增長請求數不說還浪費流量。html

解決方案

       本文結合標準的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.htmlcode

相關文章
相關標籤/搜索