jQuery - 使用.keypress函数检测特定单词

时间:2014-05-29 16:44:18

标签: javascript jquery function

我一直在尝试让jQuery检测到在键盘上输入的大量字母。

实际上,我想要实现的是,使用.keypress函数来检测单词而不是单个字符。现在,我不能同时键入一个单词并按下所有键,所以我必须编写一个jQuery记住我之前键入的字母的方式,所以如果我写“test”,它会记住“t ,e和s“在我输入最后一个”t“之前,这将使if条件成为现实。

这是我尝试过的,但我不知道如何存储字符(基本上就像一个键盘记录器,但只是一个单词,它将用于打开一个应用程序):

$(document).keypress(function(e) {
  if( e.ctrlKey && ( e.which === 46 ) ) {
    alert('Ctrl and DEL pressed!');
  }
});

这样,我设法让jQuery识别出一个关键组合,但这就是我现在所知道的。

任何人都可以帮我弄清楚如何探测整个世界吗?

非常感谢你。

1 个答案:

答案 0 :(得分:2)

根据您的意见:

我认为解决此问题的最佳方法是获取文本并检查其中是否包含白名单中的项目。

否则,如果您用户复制粘贴或移动到另一个输入,则可能会遗漏一些字符。我也会毫不犹豫地在密钥上执行此操作,但取决于您的白名单等。

这样的事情可行。

$( "#target" ).keyup(function() {

     var inputText = $( "#target" ).text();
     whitelist.forEach(function(){
          if(inputText.indexOf(aWhiteListItem) > 0)
          {
              alert("Found it");
          }
     });
  });

If you are curious about waiting for a delay, there are lots of great SO posts