Javascript 检查按钮是否单击

Javascript 检查按钮是否单击,javascript,html,jquery,dom,ecmascript-6,Javascript,Html,Jquery,Dom,Ecmascript 6,是否有可能在点击按钮事件时检查(条件)?因为如果用户单击popupButton,我想返回一个值 function showPopup(){ popup.style.visibility = "visible"; popupButton.onclick = ()=>{ popup.style.visibility = "hidden"; } popupClose.onclick = () => {

是否有可能在点击按钮事件时检查(条件)?因为如果用户单击popupButton,我想返回一个值

function showPopup(){
    popup.style.visibility = "visible";
    popupButton.onclick = ()=>{
        popup.style.visibility = "hidden";
    }
    popupClose.onclick = () => {
        popup.style.visibility = "hidden";
    }  
}
我建议你这样做

window.addEventListener(“加载”,()=>{
document.getElementById(“popBut”).addEventListener(“单击”,e=>{
console.log(“单击打开按钮”);//这里您可以调用
document.getElementById(“弹出”).classList.remove(“隐藏”);
})
document.querySelector(“popup div.close”).addEventListener(“单击”,e=>{
console.log(“单击关闭按钮”);//这里您可以调用
document.getElementById(“弹出”).classList.add(“隐藏”);
})
})
.hide{
显示:无;
}
#弹出窗口{
高度:100px;
宽度:100px;
背景颜色:黄色;
边框:1px纯黑;
}
.结束{
显示:内联块;
浮球:对
}
Show
这里有一个弹出窗口
我建议您这样做

window.addEventListener(“加载”,()=>{
document.getElementById(“popBut”).addEventListener(“单击”,e=>{
console.log(“单击打开按钮”);//这里您可以调用
document.getElementById(“弹出”).classList.remove(“隐藏”);
})
document.querySelector(“popup div.close”).addEventListener(“单击”,e=>{
console.log(“单击关闭按钮”);//这里您可以调用
document.getElementById(“弹出”).classList.add(“隐藏”);
})
})
.hide{
显示:无;
}
#弹出窗口{
高度:100px;
宽度:100px;
背景颜色:黄色;
边框:1px纯黑;
}
.结束{
显示:内联块;
浮球:对
}
Show

这里有一个弹出窗口
,您正试图从异步调用中读取返回值。当返回触发时,其他代码已经完成运行。您需要使用一个承诺,让另一个代码在执行之前等待响应返回

函数askQuestion(){
返回新承诺(功能(解决、拒绝){
const msg=document.getElementById(“msg”);
const btnYes=document.getElementById(“btnYes”);
const btnNo=document.getElementById(“btnNo”);
const cleanUp=函数(){
msg.classList.remove(“活动”);
b.removeEventListener(“单击”,是);
btnNo.removeEventListener(“单击”,无FNC);
}
const yesFnc=函数(){
决心(正确);
清理();
}
const noFnc=函数(){
决议(假);
清理();
}
btnYes.addEventListener(“单击”,是);
btnNo.addEventListener(“单击”,无FNC);
msg.classList.add(“活动”);
});
}
函数示例1(){
askQuestion().then(函数(结果){
log(“答案是:”,result);
});
}
异步函数示例2(){
const result=等待askQuestion()
log(“答案是:”,result);
}
document.getElementById(“test1”).addEventListener(“单击”,示例1);
document.getElementById(“test2”).addEventListener(“单击”,示例2)
#msg{
显示:无;
位置:绝对位置;
顶部:0;左侧:0;
背景色:#CCC;
边框:1px纯黑;
宽度:300px;
填充:1em;
}
#味精活性{
显示:块;
}
示例1
例2
你喜欢吃馅饼吗?
对
不

您正在尝试从异步调用读取返回值。当返回触发时,其他代码已经完成运行。您需要使用一个承诺,让另一个代码在执行之前等待响应返回

函数askQuestion(){
返回新承诺(功能(解决、拒绝){
const msg=document.getElementById(“msg”);
const btnYes=document.getElementById(“btnYes”);
const btnNo=document.getElementById(“btnNo”);
const cleanUp=函数(){
msg.classList.remove(“活动”);
b.removeEventListener(“单击”,是);
btnNo.removeEventListener(“单击”,无FNC);
}
const yesFnc=函数(){
决心(正确);
清理();
}
const noFnc=函数(){
决议(假);
清理();
}
btnYes.addEventListener(“单击”,是);
btnNo.addEventListener(“单击”,无FNC);
msg.classList.add(“活动”);
});
}
函数示例1(){
askQuestion().then(函数(结果){
log(“答案是:”,result);
});
}
异步函数示例2(){
const result=等待askQuestion()
log(“答案是:”,result);
}
document.getElementById(“test1”).addEventListener(“单击”,示例1);
document.getElementById(“test2”).addEventListener(“单击”,示例2)
#msg{
显示:无;
位置:绝对位置;
顶部:0;左侧:0;
背景色:#CCC;
边框:1px纯黑;
宽度:300px;
填充:1em;
}
#味精活性{
显示:块;
}
示例1
例2
你喜欢吃馅饼吗?
对
不

何时返回值?从showPopup方法?如果是,则为否。因为该方法生成稍后将发生的事件处理程序。单击“以后”时,该方法将已结束。您的问题不清楚。你能解释一下你在找什么吗?@Taplar我找到了!谢谢你有什么想法吗?@pranetxit我只想如果点击了弹出按钮,返回一个真值从哪个方法返回一个真值?何时返回一个值?从showPopup方法?如果是,则为否。因为该方法生成稍后将发生的事件处理程序。单击“以后”时,该方法将已结束。您的问题不清楚。你能解释一下你在找什么吗?@Taplar我找到了!谢谢你有什么想法吗?@pranetxit我只是想如果点击了弹出按钮,返回一个真值从什么方法返回一个真值?可能是因为你没有真正回答这个问题…@epascarello也许现在?可能是因为你没有真正回答这个问题…@epascarello也许现在?