layer.open()利用代码实现伪阻塞

   今天在项目中遇到需要弹框处理的问题,,当用户点击某个单选框时,需要进行确认操作,,常规的情况下,因为layer.open()和layer.confirm()都是异步执行的, 在点击单选框之后单选框会立马选中, 弹框的效果心痛虚设.

后来想到在用户点击之前可以先对当前点击的按钮进行记录,,因为此时弹框是异步的,,直接返回false让单选框不选中,然后在对弹框条件进行判断,,满足条件让刚才记录的单选选中就好.思路就是这样,一实验,果然好使.

代码如下:..

$("input[name='SendDetailFormMap.SEND_TYPE']").click(function () {
    debugger
    var radio=$(this);  //用来记录被点击的按钮
    if (addCardFlag) {
        layer.open({
            title: '注意',
            content: '变更类型将会删除所有生成的类型,确定吗?'
            , btn: ['确认', '取消']
            , yes: function (index) {
                radio.prop("checked",true);   //点击确认,让按钮被选中
                //执行代码
                layer.close(index)
            }
        });
    }
    return false;   //返回false表示此按钮不会选中
})            

 

转载于:https://www.cnblogs.com/xQlover/p/10790099.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值