1
我做了一些jQuery代碼,以防止用戶鍵入字符,但只有數字:的jQuery()方法被解僱超過一次
$("div").on("keydown", ":text", checkKey);
function checkKey(e) {
var n = e.keyCode;
if (n == 13) {
$(this).closest("form").submit();
console.log('enter');
}
else if (e.shiftKey || e.ctrlKey || e.altKey) {
e.preventDefault();
} else {
if (!((n == 8)
|| (n == 46) || (n == 9)
|| (n >= 35 && n <= 40)
|| (n >= 48 && n <= 57)
|| (n >= 96 && n <= 105))
) {
e.preventDefault();
console.log('ok');
}
}
}
結束HTML:
<div>
<input type="text" id="test" />
</div>
但每當我鍵入一些東西,似乎它被解僱了三次,例如一次按下輸入,我在控制檯中得到三個「輸入」,對於數字,我得到三個「確定」,爲什麼?我也用代表代替了它,並且活得很好,但代表也被解僱了三次。謝謝。
您可以包括代碼'$( 「格」)上( 「的keydown」, 「:文本」,checkKey);'出現在。我想這是這行是運行3次,而不是你的checkKey函數內的問題 – wheresrhys
我在一個空行項目中用少量行代碼來做這個代碼。這幾乎都是。 – ePezhman
你使用的是什麼版本的jQuery? – pete