gpt4 book ai didi

javascript - 使用 fancybox 扩展 Javascript 确认框

转载 作者:行者123 更新时间:2023-11-30 05:50:08 24 4
gpt4 key购买 nike

我用这样的 fancybox 扩展了我所有的 alert

window.alert = function(message){
$("#alert_message_box .warmsg span").html(message);
$.fancybox({'href':'#alert_message_box'});
return false;
}

并且工作正常。我也尝试扩展 confirm 框,比如

 window.confirm = function(message){
$("#confirm_message_box .warmsg span").html(message);
$.fancybox({'href':'#confirm_message_box'});
}

confirm_message_box div 包含两个按钮,YesNo

if(确认(alert_msg)){
在这种情况下,将如何调用 confirm 函数以及如何将 truefalse 返回给被调用的函数

我不知道覆盖这些函数是否有任何问题。

这是一个带有 jquery 的 jsfiddle 演示(这里没有使用 fancybox)

http://jsfiddle.net/fzTa3/

最佳答案

在这种情况下,您将不得不更改您的工作流程,因为确认的 Fancybox 版本不是模态对话框(它不会暂停脚本执行)。您必须使用回调来调用相应的按钮点击:

window.confirm = function(message, onYes, onNo) {
$("#confirm_message_box .warmsg span").html(message);
$.fancybox({
href: '#confirm_message_box'
afterLoad: function() {
this.inner.find('.btn-yes').click(onYes);
this.inner.find('.btn-no').click(onNo);
}
});
}

您需要在 fancybox 初始化中将 onYes 函数绑定(bind)到 Yes 按钮,将 onNo 函数绑定(bind)到 No

用法是这样的:

confirm('Are you sure?', function() {
// he is sure
}, function() {
// cancel something
});

关于javascript - 使用 fancybox 扩展 Javascript 确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15378588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com