This question already has answers here:
Prevent JavaScript keydown event from being handled multiple times while held down
(7个答案)
3年前关闭。
我有一个asp.net表单和一个asp:textbox。当用户按下并按住某个键时,我遇到问题。用户选择文本框,然后按住'9'直到文本框充满9s。
有什么办法可以发现这种情况?
按住键时是否有办法停止重复键?
更新的错误修复:
(7个答案)
3年前关闭。
我有一个asp.net表单和一个asp:textbox。当用户按下并按住某个键时,我遇到问题。用户选择文本框,然后按住'9'直到文本框充满9s。
有什么办法可以发现这种情况?
按住键时是否有办法停止重复键?
最佳答案
使用jquery,您可以执行以下操作:
<script type="text/javascript">
var allowKey = true;
$(function () {
$("#one").keydown(function (e) {
if (!allowKey) {
e.preventDefault();
}
allowKey = false;
});
$("#one").keyup(function () {
allowKey = true;
});
});
</script>
<input id="one" />
更新的错误修复:
var keyCount = 0;
$(function () {
$("#one").keypress(function (e) {
if (keyCount > 1) {
e.preventDefault();
}
keyCount++;
});
$("#one").keyup(function () {
keyCount = 0;
});
});
09-28 10:29