python 弹窗不阻断线程_如何模拟alert/confirm/prompt实现阻断程序运行

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

方案:

1、 原生的alert/confirm/prompt是可以实现这样的操作的,但是它们的界面很丑,而且有些浏览器会禁掉这个三个操作

2、利用插件,比如弹出层插件 layer:http://layer.layui.com/

下面就说下方案2:

官网下载layer组件,直接引入

如下所示:把后续要执行的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值