大家好,本人最近想重写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以为这个问题可以有新的简单的写法,本来的想法也不是为了走极端,非常感谢每位大神的回答,我就选个最长的采纳吧。。
首先这部分有问题
注: 此处需要返回值, 并且在下方判断其返回值
true|false
, 是否执行下面的代码.再备注: 回调函数为两个, 点击确定的回调, 点击取消的回调.//这样写就可以绕过阻塞.
我想到一个办法, 就是
var i = 0; while(true){i++; if(i > 50)break;}
点到为止, 比较low, 并且性能低, 但是为了阻塞拼了.