標籤:
最近做的觸屏版的項目中遇到監聽input的值,使用keyup,手機上的鍵盤按下其它鍵沒問題,但是刪除鍵卻監聽不到,在網上找到下面的解決方案。
搜尋方塊依據使用者輸入的值即時檢索,一開始自然而然想到keyup,在拼音狀態時,啥問題也沒有,
問題1:切換到中文IME,問題出來了,keyup事件不靈便了,後來在網上搜了下,找到了思路,
問題2:公眾平台開發時,客戶提需求“輸入框中輸入內容時,輸入框後邊顯示清除按鈕,清除輸入框中的內容”,使用“keyup”事件時在中文IME下部分按鍵keyup事件無效,
方法一:主要是給搜尋方塊註冊focus事件,隔個時間去檢索下,貼出代碼
$(function () { $(‘#wd‘).bind(‘focus‘,filter_time); }) var str = ‘‘; var now = ‘‘ filter_time = function(){ var time = setInterval(filter_staff_from_exist, 100); $(this).bind(‘blur‘,function(){ clearInterval(time); }); }; filter_staff_from_exist = function(){ now = $.trim($(‘#wd‘).val()); if (now != ‘‘ && now != str) { console.log(now); } str = now; }
方法二:用 input 和 propertychange事件可以解決
//先判斷瀏覽器是不是萬惡的IE,沒辦法,寫的東西也有IE使用者var bind_name = ‘input‘;if (navigator.userAgent.indexOf("MSIE") != -1){ bind_name = ‘propertychange‘;}$(‘#inputorp_i‘).bind(bind_name, function(){ $(‘#inputorp_s‘).text($(this).val());})
方法二並不是適用比較老的瀏覽器
jquery移動端鍵盤keyup失效