jqueryモバイルキーボードkeyupが無効になりました

1497 ワード

最近作ったタッチスクリーン版の項目でinputを傍受する値に遭遇し、keyupを使って携帯電話のキーボードで他のキーを押すのは問題ないが、削除キーは傍受できず、ネット上で以下の解決方法を見つけた.
検索ボックスはユーザーが入力した値に基づいてリアルタイムで検索し、最初は自然にkeyupを思い浮かべ、ピンイン状態では何の問題もなく、
問題1:中国語入力方式に切り替えて、問題が出てきて、keyup事件は便利ではありませんて、それからネット上で探して、構想を探し当てて、
質問2:微信公衆プラットフォームの開発時、お客様が「入力ボックスに内容を入力する時、入力ボックスの後ろにクリアボタンを表示し、入力ボックスの内容をクリアする」と要求し、「keyup」イベントを使用する時、中国語入力法の下の部分のキーyupイベントは無効である.
方法1:主に検索ボックスに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;
    }

方法2: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());
})

方法2古いブラウザを適用するわけではありません