javascript - js关于利用modal模拟confirm的阻塞问题
本文介绍了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屋!
查看全文