Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-使用.keypress函数检测特定单词_Javascript_Jquery_Function - Fatal编程技术网

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

Javascript jQuery-使用.keypress函数检测特定单词,javascript,jquery,function,Javascript,Jquery,Function,我一直在尝试让jQuery检测键盘上输入的字母数量 实际上,我想要实现的是,使用.keypress函数来检测单词而不是单个字符。现在,我不能同时键入一个单词和按下所有键,因此我必须编程一种方式,让jQuery记住我以前键入的字母,因此如果我写“test”,它将记住我键入最后一个“t”之前的“t、e和s”,这将使if条件成为现实 以下是我尝试过的内容,但我不知道如何存储字符(基本上类似于键盘记录器,但仅用于单个单词,用于打开应用程序): 通过这种方式,我成功地让jQuery识别出一个键组合,但现在

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

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

以下是我尝试过的内容,但我不知道如何存储字符(基本上类似于键盘记录器,但仅用于单个单词,用于打开应用程序):

通过这种方式,我成功地让jQuery识别出一个键组合,但现在我只知道这些

有人能帮我找出如何探测整个世界吗


非常感谢。

根据您的评论:

我认为最好的方法是抓取文本并检查它是否包含在你的白名单中

否则,如果用户复制粘贴或移动到其他输入,可能会丢失一些字符。我也会犹豫在keyup上这样做,但这取决于你的白名单等

像这样的东西可能有用

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

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

你如何定义一个词?找一个空格字符行吗?这个应用程序有点像一个“帮助中心”,所以最简单的单词就是“帮助”。不需要有空格:)所以你有一个你正在寻找的单词的白名单?还没有,我想可以像上面的例子那样。示例:(e.which==46)&&&(e.which==55)&&&(e.which==99)等等(但这只允许我同时按下所有键)谢谢你,工作得很好,只是需要稍微调整一下,因为我想在整个身体上使用它(在网站上的任何地方,不需要聚焦或链接到输入):)
$( "#target" ).keyup(function() {

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