javascript - js关于利用modal模拟confirm的阻塞问题

查看:398
本文介绍了javascript - js关于利用modal模拟confirm的阻塞问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

大家好,本人最近想重写js的confirm界面,然后用到了bootbox.js这种模拟弹出框的插件,它的基本写法如下:

bootbox.confirm('确定无误吗?', function(result){});

然后把后面执行步骤写到回调函数就可以了,十分方便,但是js的confirm有着阻塞浏览器的作用,而bootbox只能把后续步骤写到回调函数里边,后面如果不再用bootbox的话删除会有那么一点点麻烦。。。
所以我想问一下有没有方法可以修饰bootbox达到阻塞的作用,类似效果如下:

$('div').on('click',function(){
    //不点击确定取消不能执行后续的代码...
    bootbox.confirm('确定无误吗?', function(result){if(!result)return});
    //后续代码写到这个位置
    code...
})

本人菜鸟看到js发展到es6以为这个问题可以有新的简单的写法,本来的想法也不是为了走极端,非常感谢每位大神的回答,我就选个最长的采纳吧。。

解决方案

首先这部分有问题

 bootbox.confirm('确定无误吗?', function(result){if(!result)return});//注
 //后续代码写到这个位置
 code...

注: 此处需要返回值, 并且在下方判断其返回值true|false, 是否执行下面的代码.

再备注: 回调函数为两个, 点击确定的回调, 点击取消的回调.//这样写就可以绕过阻塞.

我想到一个办法, 就是
var i = 0; while(true){i++; if(i > 50)break;}
点到为止, 比较low, 并且性能低, 但是为了阻塞拼了.

这篇关于javascript - js关于利用modal模拟confirm的阻塞问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆