4

我有一个用纯 HTML Javascript 制作的页面...我处理 keyup 代码,我需要获取密钥代码,当 key code == 8 (backspace) 必须运行特殊任务...但是如果我在android 浏览器、chrome 或其他...退格键不返回任何键码...

我做了:

$( '.input-cell' ).bind( 'keyup', function( e ){

   var keycode =  e.keyCode ? e.keyCode : e.which;

   alert( keycode );

   if( keycode == 8 ) {
               .....
   }
});

警报将所有键码返回给我,但退格键...有没有办法捕获退格键按下事件?

4

2 回答 2

3

输入变化事件

$('#myinput').bind('input', function(){
    // code
});

退格

$('#myinput').on('keypress', function() {
    //code
    }).on('keydown', function(e) {
        if (e.keyCode==8) {
            //code
        }
    });
于 2014-09-23T04:21:04.843 回答
-1

另一种解决方案可以检查之前和之后的字符长度,如果它比之前少一个字符,那么显然它是一个退格键,在我的情况下,我只使用一个带有一个字符的输入并且需要按下退格键后返回上一个输入,就我而言,我在 android 键盘中也只有 0 和 229,所以我这样做了:

$('input').on('keydown', function (e) {
    switch(e.keyCode){
        case 229:
        case 0:
             if($(this).val() == '')
                 $(this).prev().focus();
             break;
    }
});

同样可以通过检查字符来实现,当然这只是在android键盘设备中退格的情况下,只是一种解决方法,希望对您有所帮助。

于 2020-01-10T15:00:23.460 回答