仅在单击按钮时调用一次方法(至少一次)
Call a method once, only if button is clicked (atleast once)
我只想调用 loadNext()
方法一次,前提是至少单击了一次其他按钮。
我已经签出:Calling a Method Once
例如,我正在制作一个测验应用程序,每个问题类型都有问题和一些选项。
用户将 select 一个选项并点击下一个按钮以加载下一个问题(带有选项),(这些是在数组中预定义的)。 loadNext()
不应该被调用多次,即使选项被点击了不止一次(为了防止这种情况,我避免在这些选项(按钮)的 onclick 方法中调用 loadNext()
,并且如果 none 个选项是 selected,
我的想法类似于 pre-defining isClicked
和 false
,并在这些选项的 onclick 方法中反转,但这不起作用。
到目前为止我做了什么:
var optButtons = $(".opt button");
var isClicked = false;
optButtons.click(function () {
isClicked = true;
console.log("clicked on opt buttons: " + this.id);
console.log("Current button is: " + this.id + " set as active");
//other stuffs
});
//some other stuffs
if (isClicked) {
console.log("Clicked once!");
//other stuffs
loadNext();
} else {
alert("Please select an option");
//browser is alerting very first time after opening `index.html` file
// and Next button click isn't working after that
}
任何指示将不胜感激,在此先感谢!
我是 JS 新手。
假设你有一个 id="next"
用于你的下一步按钮
$("#next").on('click',function(){
if(isClicked){
loadNext();
// Set isClicked to false to reset mechanism
isClicked = false;
}
});
这就是您要找的吗?我是这样理解的
您在单击选项按钮时登录到控制台,这没问题,但是在下一个按钮的 onClick 侦听器中,检查是否单击了唯一的一个选项..您可以创建一个变量在全球范围内检查有多少
下一个按钮被点击的次数,代码片段是
//function called on clicking the next button
function abcd(){
counter++;
if(counter!=-1){
return;
}
else{
//call the loadnext()
}
}
我想您已经通过单选按钮找到了答案。您可以尝试 'radio buttons' 的选项。网上有足够多的参考资料。如果这不符合您的要求,请告诉我。
我只想调用 loadNext()
方法一次,前提是至少单击了一次其他按钮。
我已经签出:Calling a Method Once
例如,我正在制作一个测验应用程序,每个问题类型都有问题和一些选项。
用户将 select 一个选项并点击下一个按钮以加载下一个问题(带有选项),(这些是在数组中预定义的)。 loadNext()
不应该被调用多次,即使选项被点击了不止一次(为了防止这种情况,我避免在这些选项(按钮)的 onclick 方法中调用 loadNext()
,并且如果 none 个选项是 selected,
我的想法类似于 pre-defining isClicked
和 false
,并在这些选项的 onclick 方法中反转,但这不起作用。
到目前为止我做了什么:
var optButtons = $(".opt button");
var isClicked = false;
optButtons.click(function () {
isClicked = true;
console.log("clicked on opt buttons: " + this.id);
console.log("Current button is: " + this.id + " set as active");
//other stuffs
});
//some other stuffs
if (isClicked) {
console.log("Clicked once!");
//other stuffs
loadNext();
} else {
alert("Please select an option");
//browser is alerting very first time after opening `index.html` file
// and Next button click isn't working after that
}
任何指示将不胜感激,在此先感谢! 我是 JS 新手。
假设你有一个 id="next"
用于你的下一步按钮
$("#next").on('click',function(){
if(isClicked){
loadNext();
// Set isClicked to false to reset mechanism
isClicked = false;
}
});
这就是您要找的吗?我是这样理解的
您在单击选项按钮时登录到控制台,这没问题,但是在下一个按钮的 onClick 侦听器中,检查是否单击了唯一的一个选项..您可以创建一个变量在全球范围内检查有多少 下一个按钮被点击的次数,代码片段是
//function called on clicking the next button
function abcd(){
counter++;
if(counter!=-1){
return;
}
else{
//call the loadnext()
}
}
我想您已经通过单选按钮找到了答案。您可以尝试 'radio buttons' 的选项。网上有足够多的参考资料。如果这不符合您的要求,请告诉我。