博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何模拟alert/confirm/prompt实现阻断程序运行
阅读量:6180 次
发布时间:2019-06-21

本文共 2134 字,大约阅读时间需要 7 分钟。

  场景:在执行js的时候,我们希望运行到某处,进行用户交互,根据交互的内容,运行下面的程序;下面的js程序需要用的和用户交互的内容,所以,和用户交互时,后面的程序必须停止运行

  方案:

  • 1、 原生的alert/confirm/prompt是可以实现这样的操作的,但是它们的界面很丑,而且有些浏览器会禁掉这个三个操作
  • 2、利用插件,比如弹出层插件 layer:http://layer.layui.com/

 

  下面就说下方案2:

  官网下载layer组件,直接引入<script src="layer.js"></script>

  如下所示:把后续要执行的js代码放入函数中function(value, index, elem){},这样只有用户输入交互内容,才会执行后面的程序。

  layer.prompt({                    "title":"请输入报告名字",             yes:function(){},   //就是点击确定按钮的时候执行的操作;             cancel:function(){}, //就是点击取消的时候执行的操作;             end:function(){} //就是层在销毁的时候(等同于confirm结束的时候)                 },                function(value, index, elem){
            layer.close(index); //关闭对话框 $.ajax({ type:"POST", url: url, contentType: 'application/json;charset=utf-8', data: JSON.stringify(data), dataType:'json', success:function (result) { {#$('#infomation').html('
执行成功,请等待一会
……
');#} {#$('#report_name').attr('hidden','hidden');#} {#$('#infomation').removeAttr('hidden');#} {#$('#modal-default').modal('show');#} window.location.href = "/onlinePerform/jmeterDetail/" + result.project_id +"/"+result.scene_id+"/"+result.report_id }, fail: function (result,result1,result2) { {#$('#infomation').html('
执行失败,请检查网络问题
……
');#} {#$('#report_name').attr('hidden','hidden');#} {#$('#infomation').removeAttr('hidden');#} {#$('#modal-default').modal('show');#} console.error(result) console.error(result1) console.error(result2) } }) });

 

 

参考:

1、http://www.layui.com/doc/modules/layer.html#layer.prompt

转载地址:http://mxbda.baihongyu.com/

你可能感兴趣的文章
RGCDQ(线段树+数论)
查看>>
理解Kubernetes(2): 应用的各种访问方式
查看>>
Ionic的NavController 和ModalController 的区别
查看>>
telnet允许root用户登录
查看>>
Kafka的CommitFailedException异常
查看>>
思考与阅读
查看>>
ES6
查看>>
Wireshark中的一些SNMP相关的过滤器
查看>>
java8 新特性
查看>>
Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench
查看>>
在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)
查看>>
leetcode 598. Range Addition II
查看>>
STM32-对芯片启动读保护,实现加密(详解)
查看>>
EntityFramework 更新数据库字段的三种方法
查看>>
java.net.URISyntaxException: Illegal character in query
查看>>
基于 HTML5 Canvas 实现的文字动画特效
查看>>
人是怎么废掉的?
查看>>
android控件拖动,移动、解决父布局重绘时控件回到原点
查看>>
php排序
查看>>
Golang 在 Mac、Linux、Windows 交叉编译
查看>>