Android浏览器中的JavaScript keypress事件验证

时间:2015-07-01 12:33:14

标签: javascript html

这适用于桌面浏览器上的数字和特殊字符验证,但在Android浏览器中不起作用:

<input type="text" onkeypress="return isAlphabetKey(event)">

function isAlphabetKey(evt) {
    var keyval = (evt.which) ? evt.which : evt.keyCode;

    if (keyval >= 65 && keyval <= 90) {  //For A-Z
        return true;
    } else if (keyval >= 97 && keyval <= 122) {  //For a-z
        return true;
    } else if (keyval == 8 || keyval == 32) {  //For Backspace and space
        return true;
    } else {
        return false;
    }
}

如何解决Android浏览器的问题?

2 个答案:

答案 0 :(得分:0)

尝试oninput事件:http://www.w3schools.com/jsref/event_oninput.asp

它对于即时输入回调最有用,但它并不是所有地方都支持的。作为后备,您可以使用onkeyup

答案 1 :(得分:0)

简单的解决方案是使用jQuery keyup功能
HTML:

<input id="q" name="q" type="text" placeholder="Search here!!">

jQuery

$('#q').keyup(function (e) {
    var query = $(this).val();
});