国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js與jquery實時監聽輸入框值的oninput與onpropertychange方法

2019-11-20 13:13:23
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汤阴县| 乌拉特后旗| 色达县| 宾阳县| 平凉市| 五华县| 汝州市| 陵川县| 旌德县| 尤溪县| 历史| 交城县| 东乌珠穆沁旗| 方山县| 乌拉特后旗| 安化县| 苍南县| 渭源县| 郓城县| 漳浦县| 吉木乃县| 蓝山县| 观塘区| 德惠市| 通河县| 浠水县| 玛曲县| 靖州| 长白| 大英县| 封开县| 旬邑县| 赫章县| 甘肃省| 武山县| 万载县| 长乐市| 东宁县| 涿鹿县| 莱州市| 蕉岭县|