Javascript 停止函数,直到单击“确定”或“取消”-JQUERY
我创建了如下自定义确认框:Javascript 停止函数,直到单击“确定”或“取消”-JQUERY,javascript,promise,confirm,Javascript,Promise,Confirm,我创建了如下自定义确认框: function formPopup(message, callback) { message = message + '<div class="clear"></div><button class="mybutton" name="check" value="true">Yes</button>' + '<button class="mybutton mybutton2" name
function formPopup(message, callback) {
message = message + '<div class="clear"></div><button class="mybutton" name="check" value="true">Yes</button>' +
'<button class="mybutton mybutton2" name="check" value="false">No</button>';
createPopup("Message", message);
$(".popup .body button[name='check']").bind("click", function (e) {
val = $(this).val();
if (val == "true") {
$(".popup").find(".close").trigger("click");
typeof (callback) != "undefined" ? callback() : null;
} else {
$(".popup").find(".close").trigger("click");
}
});
}
但这没用
tnx很多你的意思是这样的吗 jQuery无法在单击函数中获取“this”,我将其替换为e.target,因此event.target==您正在单击的按钮
函数showPopup(消息、回调){
$(“.popup”).css(“显示”、“块”);
$(“.title”).html(信息);
//只有按钮1的值无论如何都是真的,但只是为了显示如何访问按钮对象
$(“.b1”)。在((单击),(e)=>{
var val=$(e.target).val();
如果(val=“true”){
closePopup();
typeof(callback)!=“未定义”?callback():null;
}否则{
closePopup();
}
});
//按钮2,尝试尽可能多地拆分,使一切变得更容易
$(“.b2”)。在(单击),(e)=>{
closePopup();
});
}
函数closePopup(){
$(“.popup”).css(“显示”、“无”);
设置超时(()=>{
showPopup(“再次返回”,()=>{console.log(“回调”);});
}, 2000);
}
showPopup(“message”,()=>{console.log(“callback”);})代码>
.popup{
位置:固定;
显示:无;
左:0;
排名:0;
底部:0;
右:0;
背景:rgba(0,0,0,0.2);
z指数:1;
}
.弹出内容{
位置:绝对位置;
颜色:红色;
背景:绿色;
宽度:300px;
左:计算(50%-150px);
高度:100px;
顶部:calc(50%-50px);
z指数:2;
}
对
不
弹出窗口是否显示?使用自定义警报库可能会非常简单,因为它不可能像警报
或提示符
那样同步等待表单弹出窗口。您必须使代码异步。让我们看看你是如何使用承诺的。
promise and when