Javascript 如何对仅在多次单击时有效的按钮进行编码
我正在尝试编写一个简单的测验应用程序。我试图把一个隐藏的屏幕放在最后,当一个人在最后点击一个按钮3次。这就是我尝试过的:Javascript 如何对仅在多次单击时有效的按钮进行编码,javascript,Javascript,我正在尝试编写一个简单的测验应用程序。我试图把一个隐藏的屏幕放在最后,当一个人在最后点击一个按钮3次。这就是我尝试过的: for (var i = 0; i > 2; i++) { onEvent("button26", "click", function() { setScreen("TrollScreen"); playSound("sound://default.mp3", false); }); } 我对代码相当陌生,我不知道如何做到这一点。非常感谢您的帮
for (var i = 0; i > 2; i++) {
onEvent("button26", "click", function() {
setScreen("TrollScreen");
playSound("sound://default.mp3", false);
});
}
我对代码相当陌生,我不知道如何做到这一点。非常感谢您的帮助。您每次按下按钮都会点击三次(至少我认为是这样)。相反,创建一个从0开始的计数器变量,并在每次按下按钮时将其递增1。将要执行的操作放入if语句中
if(counter >= 3){
//do some action
}
希望有帮助 每次按下按钮时,它都会单击三次(至少我认为是这样)。相反,创建一个从0开始的计数器变量,并在每次按下按钮时将其递增1。将要执行的操作放入if语句中
if(counter >= 3){
//do some action
}
希望有帮助 您需要将点击次数保持在事件处理程序之外。然后在它里面你可以检查这个值并显示屏幕或者相应地增加计数器
var count = 0;
onEvent("button26", "click", function(){
if(count > 2){
setScreen("TrollScreen");
playSound("sound://default.mp3", false);
}else{
count++;
}
});
您需要将点击次数保持在事件处理程序之外。然后在它里面你可以检查这个值并显示屏幕或者相应地增加计数器
var count = 0;
onEvent("button26", "click", function(){
if(count > 2){
setScreen("TrollScreen");
playSound("sound://default.mp3", false);
}else{
count++;
}
});
由于所有DOM元素实际上都是对象,因此您可以向它们附加一个用作计数器的属性,因此当单击按钮时,您可以将该属性增加
1
,然后检查它是否已经达到3
更微妙的方法是使用附加事件的helper函数,并将计数器设置为closured变量,如下所示:
function attachEventWithCounter(elem, func, maxClickCount) {
let count = 0;
elem.addEventListener("click", function(e) {
count++;
if(count >= maxClickCount) {
func.call(this, e);
// and probably reset 'count' to 0
}
});
}
然后您可以这样使用它:
attachEventWithCounter(myButton, myEventListener, 3);
attachEventWithCounter
只接受一个DOM元素、一个用作事件侦听器的函数和一个最大尝试次数的数字。然后,它附加一个click事件侦听器(如果需要,也可以传入事件的类型),然后每当该事件发生时,它递增一个本地声明的变量count
(最初设置为0
),并检查它是否达到了最大尝试次数,如果是,它只调用作为参数传递的函数(使用函数#call
传递自定义this
和事件参数以模拟实际事件侦听器)
示例:
函数附加ventwithCounter(元素、函数、最大单击计数){
让计数=0;
元素addEventListener(“点击”,函数(e){
计数++;
如果(计数>=maxClickCount){
函数调用(this,e);
计数=0;
}
});
}
设btn=document.getElementById(“myButton”);
函数侦听器(){
警报(“最后点击!!!”;
}
附加ventwithcounter(btn,侦听器,3);
单击我3次
因为所有DOM元素实际上都是对象,所以您可以为它们附加一个属性作为计数器,因此当单击按钮时,您可以将该属性增加1
,然后检查它是否已经达到3
更微妙的方法是使用附加事件的helper函数,并将计数器设置为closured变量,如下所示:
function attachEventWithCounter(elem, func, maxClickCount) {
let count = 0;
elem.addEventListener("click", function(e) {
count++;
if(count >= maxClickCount) {
func.call(this, e);
// and probably reset 'count' to 0
}
});
}
然后您可以这样使用它:
attachEventWithCounter(myButton, myEventListener, 3);
attachEventWithCounter
只接受一个DOM元素、一个用作事件侦听器的函数和一个最大尝试次数的数字。然后它附加一个click事件侦听器(如果需要,也可以传入事件类型)然后,每当该事件发生时,它都会增加一个本地声明的变量count
(最初设置为0
),并检查它是否达到最大尝试次数,如果达到最大尝试次数,则只调用作为参数传递的函数(使用函数#call
传递自定义this
和事件参数以模拟实际事件侦听器)
示例:
函数附加ventwithCounter(元素、函数、最大单击计数){
让计数=0;
元素addEventListener(“点击”,函数(e){
计数++;
如果(计数>=maxClickCount){
函数调用(this,e);
计数=0;
}
});
}
设btn=document.getElementById(“myButton”);
函数侦听器(){
警报(“最后点击!!!”;
}
附加ventwithcounter(btn,侦听器,3);
单击我3次
您希望将计数器变量保留在事件范围之外,以跟踪它被单击的次数。例如
let counter = 0;
onEvent("button26", "click", function() {
if(counter >= 3) {
setScreen("TrollScreen");
playSound("sound://default.mp3", false);
}
counter ++;
});
您希望将计数器变量保留在事件范围之外,以跟踪它被单击的次数
let counter = 0;
onEvent("button26", "click", function() {
if(counter >= 3) {
setScreen("TrollScreen");
playSound("sound://default.mp3", false);
}
counter ++;
});
//创建一个变量以检查按钮被单击的次数
var按钮单击=0;
函数CheckCount(){
//检查buttonClick变量是否为3
如果(按钮单击==3){
//如果等于3,则显示屏幕并播放声音
//为了演示,下面的注释被删除了
//设置屏幕(“自动屏幕”);
//播放声音(“sound://default.mp3“,假);
document.getElementById('buttonclickcount').innerHTML=“您单击了三次”;
}否则{
//如果不是这样,则将buttonClick变量增加1
钮扣++
//所以你可以看到按钮被点击了多少次
document.getElementById('buttonclickcount')。innerHTML=buttonClick;
}
};
你赢了!
//创建一个变量以检查按钮被单击的次数
var按钮单击=0;
函数CheckCount(){
//检查buttonClick变量是否为3
如果(按钮单击==3){
//如果等于3,则显示屏幕并播放声音
//为了演示,下面的注释被删除了
//设置屏幕(“自动屏幕”);
//播放声音(“sound://default.mp3“,假);
document.getElementById('buttonclickcount').innerHTML=“您单击了三次”;
}否则{
//如果是