小编Ano*_*ooj的帖子

iPhone为(hash和3)和(Asterisk和8)返回相同的keydown事件

我正在进行电话验证,并要求使用电话号码自动格式化输入,并且只允许添加数字字符.但是当我尝试使用keydown和keypress限制输入时,IPhone允许我输入#和*.当我检查keydown值时,它们分别与3和8相同(键码51和56).这在Android浏览器中完美运行但在iPhone中失败.

任何人都面临类似的问

$(formSelector + ' input[name^="phone"]').on('keydown keypress',function (e) {         
    // Allow: backspace, delete, tab, escape, and enter  
    if ( e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 27 || e.keyCode == 13 ||   
        // Allow: Ctrl+A  
        (e.keyCode == 65 && e.ctrlKey === true) ||   
        // Allow: home, end, left, right  
        (e.keyCode >= 35 && e.keyCode <= 39)
    ) {                
        // let it happen, don't do anything  
        return;  
    } else {  
        // Ensure that it …
Run Code Online (Sandbox Code Playgroud)

javascript iphone events keycode

5
推荐指数
1
解决办法
2378
查看次数

标签 统计

events ×1

iphone ×1

javascript ×1

keycode ×1