在keypress事件上防止输入字段中的空格

时间:2015-06-02 22:08:53

标签: javascript jquery input keypress

我正在使用以下代码检测keypress事件上的多个键:

var down = [];
$(document).keydown(function (e) {
     down[e.keyCode] = true;
}).keyup(function (e) {
     if (down[17] && down[32]) {
          // Do something
     }
     down[e.keyCode] = false;
});

但是,当输入字段具有焦点时,将使用此热键( CTRL + SPACE )。因此,每当我按下组合键时,它也会在输入字段中添加一个空格。

如何防止这种情况发生?我已经研究了在输入中禁用空格的方法(比如this),但我无法弄清楚如何让它在我的keypress事件中工作。

2 个答案:

答案 0 :(得分:0)

正如MelanciaUK建议的那样,我最终采用了不同的方法。

在keyup事件中,它会删除输入字段中的最后一个字符。

var down = [];
$(document).keydown(function (e) {
     down[e.keyCode] = true;
}).keyup(function (e) {
     if (down[17] && down[32]) {
          // Do something
          input = $(':focus');
          input.val(function (index, value) {
               return value.substr(0, value.length - 1);
          });
     }
     down[e.keyCode] = false;
});

虽然它不会阻止添加空间,但会立即将其删除。

答案 1 :(得分:-1)

您可以尝试this。我希望它有所帮助。

"Random Site Name: $("$(Get-Random -Maximum ([int32]::MaxValue)){0}" -f $site.name)"

-

谢谢,

SuperCoder