我编写了一个脚本来检测用户点击了什么密钥并根据密钥(如果是字母数字)进行操作但是到目前为止它没有工作且没有错误。
jQuery(document).ready(function() {
$("#my_field").keydown(function(event) {
var additional = new Array(8,9,13,27,35,36,37,38,39,46);
var numbers = new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,144);
var letters = new Array(65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90);
var AllowedKeyCode =
(jQuery.inArray(event.keyCode, additional) >= 0)
||
(jQuery.inArray(event.keyCode, letters) >= 0)
||
((!event.shiftKey) && (jQuery.inArray(event.keyCode, numbers) >= 0))
||
((event.ctrlKey) && (event.keyCode == 65 || event.keyCode == 67 || event.keyCode == 86));
if (AllowedKeyCode === false) {event.preventDefault();}
});
});
非常感谢任何帮助。
答案 0 :(得分:1)
Javascript中数组的理想语法是:
var additional = [8,9,13,27,35,36,37,38,39,46];
相反:
var additional = new Array(8,9,13,27,35,36,37,38,39,46);
问题可能是您没有返回操作。看看你发布的内容是非常棘手的。
尝试更改:
event.preventDefault();
到
return false;