我想设置一个主页,按下任何字符(小写或大写)或任何数字都会将用户重定向到login page
,因为主页本身没有任何操作要求输入
我的第一次尝试是:
document.onkeyup = function() {
document.location.href = "/login"
}
这适用于每个键,包括游标,制表符,甚至大写锁定。如何限制此功能,使其仅响应字符和数字?
答案 0 :(得分:5)
当事件发生时,密钥代码将作为事件参数发送。我们可以使用它来确定是否按下了字符或数字键。像这样:
document.onkeyup = function(e) {
if ((e.keyCode >= 65 && e.keyCode <= 90) ||
(e.keyCode >= 97 && e.keyCode <= 122) ||
(e.keyCode >= 48 && e.keyCode <= 57)){
document.location.href = "/login";
}
};
作为参考,上面使用的数字是ASCII码,你可以在这里找到完整的列表:http://asciitable.com/。 48-57是数字0-9,65-90是大写字符,97-122是小写字符。
你可以在这里找到一个非常简单的JS Fiddle示例:http://jsfiddle.net/jpYyg/。在按任何按钮之前,请记住在“结果”面板(右下角)中单击,否则它将无效!
HTH
答案 1 :(得分:1)
<script type="text/javascript">
document.onkeyup = function (e) {
var patt =/\w/g;
var key = String.fromCharCode(e.keyCode);
if (patt.test(key))
document.location.href = "/login";
}
</script>
答案 2 :(得分:0)
document.onkeyup = function(event) {
if (###event.keyCode corresponds to a letter or numeral###)
document.location.href = "/login";
else
event.preventDefault();
}
如果您希望使用jQuery简化生活,还可以查看http://api.jquery.com/keypress/的演示。