【发布时间】:2013-04-18 01:49:13
【问题描述】:
我有以下 jQuery 函数
jQuery.fn.integerMask =
function () {
return this.each(function () {
$(this).keydown(function (e) {
var key = (e.keyCode ? e.keyCode : e.which);
// allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
return (
key == 8 ||
key == 9 ||
key == 46 ||
key == 37 ||
key == 39 ||
(key >= 48 && key <= 57) ||
(key >= 96 && key <= 105));
);
});
});
};
用于输入数字。问题是 SHIFT+8 会导致输入星号 * 字符。似乎允许“8”键与 SHIFT 组合。如何防止 SHIFT+8 被接受并插入“*”字符?
【问题讨论】:
-
这是一个布尔值
e.shiftKey -
详细说明大卫的评论。您需要做的是测试是否 e.shiftKey=true 表示按下了 shift 键,然后返回 false。