>创建一个变量,告诉我们用户是否单击了您的按钮.
var clicked = false;
>向按钮添加事件侦听器,以便在用户单击它时,单击的变量将变为true.
myButton.addEventListener('click', function(){
clicked = true;
});
>添加一个按键事件监听器:
document.addEventListener('keypress', function(e) {
// `e` is the event
});
>在该事件监听器内部,检查用户之前是否单击过
if(clicked) {
// ...
}
>如果他做了,检查按下的键.输入的密钥代码是13.
var keynum = e.keyCode||e.which;
if(keynum == 13) {
// ...
}
>如果按下了键,请使用
clicked = false;
否则,一旦用户单击您的按钮并按下回车键,则无需再次单击该按钮.
>之后运行您的代码.例如,这将在2秒后调用函数f.
setTimeout(f, 2000);
现场演示
var clicked = false;
document.querySelector('#btn').addEventListener('click', function(){
clicked = true;
snippet.log("You clicked the button. `clicked` is now `true`");
});
document.addEventListener('keypress', function(e) {
if(clicked) {
var keynum = e.keyCode || e.which;
if(keynum == 13) {
clicked = false;
snippet.log("`clicked` is now `false`. Waiting 2 seconds...");
setTimeout(f, 2000);
}
}
});
function f() {
snippet.log("Function `f` executed successfully!");
}
#btn {
border: 3px solid red;
cursor: pointer;
}