我需要创建一个函数来检测函数(import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
declare let Office: any;
Office.initialize = (reason: any) => platformBrowserDynamic().bootstrapModule(AppModule);
)的第一个参数(onkeydown
)中指定的keyset
事件。一旦检测到,这将调用函数的第二个参数(reqKeysToFunc
)中指定的函数。
当按下 Z 或 M 时,我当前的代码会显示警告,但我希望警告显示在两者之后被压了,而不仅仅是一个。另外,我希望能够为myFunc
参数添加不同的字母,但我不知道如何在函数中定义它。
keyset
答案 0 :(得分:1)
此示例允许您定义要查找的序列数组。它存储用户在名为currentSequence的全局中键入的部分序列。如果成功输入整个序列,则使用键入的序列调用myFunc。
var sequences = ['ZM', 'AB'];
var currentSequence = "";
document.onkeydown = function(event) {
"use strict";
var myKey = event.key.toUpperCase();
// see if the current sequence is valid
var valid = sequences.filter(function (el) {
return el.indexOf(currentSequence + myKey) === 0;
});
if (!valid.length) {
// current sequence is not valid, start over
currentSequence = "";
} else {
currentSequence += myKey;
// see if the current sequence is complete
var found = valid.indexOf(currentSequence);
if (found > -1) {
// user typed a complete sequence
myFunc(currentSequence);
currentSequence = "";
}
}
}
function myFunc(sequence) {
alert("You typed " + sequence);
}

Type stuff

答案 1 :(得分:0)
这样的事情应该可以胜任。 您将按下的键存储在对象中。并检查set中不同按键的数量是否等于set中的字母数。
$('.button3').click(function(){
$('.product').slideUp();
$('.lockedin').slideUp();
$('.developers').slideToggle('slow');
});
答案 2 :(得分:0)
我希望在按下它们之后显示警报,而不是仅显示警报。
您可以使用要检测的每个键的标记来执行此操作。当按下 Z 时,let listOne = filter(\x -> if length x > 0) ll
map(\x -> head x) listOne
变量设置为zFlag
。当按下 M 时,true
变量设置为mFlag
。只有设置了两个标志后才会调用true
函数。
见这个例子:
alert
另外,我希望能够为keyset参数添加不同的字母,但我不知道如何在函数中定义它。
您有动态定义键集的基础:将其作为参数传递给var zFlag = false,
mFlag = false;
function reqKeysToFunc(keySet, myFunc) {
document.onkeydown = function(event) {
"use strict";
var myKey = event.key.toUpperCase();
var keySet = 'ZM';
if (keySet.search(myKey) > -1) {
if (myKey == 'Z') { // if Z was pressed
zFlag = true;
} else { // if M was pressed
mFlag = true;
}
if (zFlag && mFlag) { // if both keys have been pressed
document.onkeydown = null;
myFunc();
}
}
}
}
function tmp() {
alert('hello');
}
reqKeysToFunc('ZM', tmp);
document.body.focus(); // so you don't have to click before typing
。您只需要删除函数内部的静态reqKeysToFunc()
声明,创建一个数组来存储哪些键已被按下,哪些键没有,然后检查每个按下的键。
请参阅此解决方案(将var keyset
作为键集传入):
ZMD
答案 3 :(得分:0)
我做过这个似乎有效的方法:
function reqKeysToFunc( keySet, myFunc) {
document.onkeydown = function(event) {
"use strict";
var myKey = event.key.toUpperCase();
if (keySet.search(myKey) > -1 ) {
keySet = keySet.replace(myKey, '');
if(keySet === '') {
document.onkeydown = null;
myFunc();
}
}
}
}
function tmp() {
alert('hello');
}
reqKeysToFunc('ZM', tmp);
答案 4 :(得分:-3)
在按钮点击时声明一个变量并保存计数,然后检查按钮是否获得点击,变量值是否为1然后显示警告