阻塞式弹窗实现方法

以前的web应用,一笔业务流程,会提示好几次确定、取消:确定继续执行代码,取消终止业务流程。

以前的代码是阻塞式的,没有点击‘确认’、‘取消’按钮,后边的代码是不会执行的。
现在项目重构,弹窗都是个div弹窗,无法阻塞后续的代码。

想问问,目前js框架有没有实现阻塞式的div弹窗。(目前是使用回调,把后续的代码写道回调方法里,但是当确认、取消后有2个以上,代码就很复杂了,而且后续想再业务流程中再添加一个确认、取消的判断很难改。)

阅读 8.9k
5 个回答

js没法实现模式对话框,不过可以用await或者promise来实现类似的效果,避免深度回调

真要解决阻塞的话,可能得要用es7的await。至于目前来说,promise可能会好一些,但是个人觉得在这一点上和封装较好回调差别并不大。
另外,如果有两层以上的确定取消嵌套的话,我觉得这个交互可能存在一点问题了吧。。

想问问,目前js框架有没有实现阻塞式的div弹窗。

没有。除了 confirm , prompt 之外,没有你理解的“阻塞”。

js 的环境是异步的,异步用“回调”,而不用“返回”。

可以看看layer的弹窗实现……基本能够实现你想要的效果!

我觉得你的思路是有问题的 改成div弹窗和阻塞不阻塞并没有关系 弹窗出现点击确定和取消 可以使用枷锁或者遮罩来阻止用户其他操作 把代码的功能尽量封装细一点 方便自己理清逻辑

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题