阻塞式弹窗实现方法
以前的web应用,一笔业务流程,会提示好几次确定、取消:确定继续执行代码,取消终止业务流程。
以前的代码是阻塞式的,没有点击‘确认’、‘取消’按钮,后边的代码是不会执行的。
现在项目重构,弹窗都是个div弹窗,无法阻塞后续的代码。
想问问,目前js框架有没有实现阻塞式的div弹窗。(目前是使用回调,把后续的代码写道回调方法里,但是当确认、取消后有2个以上,代码就很复杂了,而且后续想再业务流程中再添加一个确认、取消的判断很难改。)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
js没法实现模式对话框,不过可以用await或者promise来实现类似的效果,避免深度回调
真要解决阻塞的话,可能得要用es7的await。至于目前来说,promise可能会好一些,但是个人觉得在这一点上和封装较好回调差别并不大。
另外,如果有两层以上的确定取消嵌套的话,我觉得这个交互可能存在一点问题了吧。。
没有。除了
confirm
,prompt
之外,没有你理解的“阻塞”。js 的环境是异步的,异步用“回调”,而不用“返回”。
可以看看layer的弹窗实现……基本能够实现你想要的效果!
我觉得你的思路是有问题的 改成div弹窗和阻塞不阻塞并没有关系 弹窗出现点击确定和取消 可以使用枷锁或者遮罩来阻止用户其他操作 把代码的功能尽量封装细一点 方便自己理清逻辑