我有一个用纯HTML编写的页面Javascript ...我处理密钥代码而我需要获取密钥代码,当密钥代码== 8(退格)时必须运行特殊任务...但如果我打开Android浏览器中的页面,chrome或其他...退格键不会返回任何键代码...
我做过:
$( '.input-cell' ).bind( 'keyup', function( e ){
var keycode = e.keyCode ? e.keyCode : e.which;
alert( keycode );
if( keycode == 8 ) {
.....
}
});
警报会返回所有密钥代码,但退格...有没有办法捕获退格按钮事件?
答案 0 :(得分:2)
输入更改事件
$('#myinput').bind('input', function(){
// code
});
退格
$('#myinput').on('keypress', function() {
//code
}).on('keydown', function(e) {
if (e.keyCode==8) {
//code
}
});
答案 1 :(得分:0)
另一种解决方案是检查前后的字符长度,如果它少于以前的字符,则很明显是触发了退格键,在我的情况下,我仅使用一个带有一个字符的输入并在按了退格键后需要返回到先前的输入,对于我来说,我在Android键盘中也只有0和229,所以我这样做了:
$('input').on('keydown', function (e) {
switch(e.keyCode){
case 229:
case 0:
if($(this).val() == '')
$(this).prev().focus();
break;
}
});
通过检查字符也可以实现相同的目的,当然,只有在android键盘设备中有退格键的情况下,这只是一种变通方法,希望对您有所帮助。
答案 2 :(得分:-2)
if (e.keyCode == 8 || e.keyCode == 229) {
// code
}