doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:8849回复:0

layer中弹出框confirm不返回true或false

楼主#
更多 发布于:2017-09-21 16:59
var re =layer.confirm("修改成功,是否重新加载",{icon:3});
   if(re){
          $("#editBook").modal(hide);
    }else{
           $("#editBook").modal(hide);
  }

如上代码,根据用户的选择,然后调用不同的方法,最后,发现完全不行。

最后,发现layer.confirm,不会返回true或false,而且它是非阻塞,不会等待用户选择后,在执行后面的代码。那要如何

实现以上的效果呢?

参考如下代码:

 layer.confirm("修改成功,是否重新加载?",{icon: 3,bth:['是','否']},
   function(){   // 选择“是”的回调函数
            location.href=site_url + "/personInfor/bookmark";
            $("#editBook").modal(hide);
      },function(){  // 选择“否”的回调函数
              $("#editBook").modal(hide);
     });

使用以上代码,达到了想到的效果

总结:layer里面的confirm方法不像js自带的confirm那样先要判断true或false才能执行下一步,layer里的confirm是非阻塞式的,意思它不会等待用户的选择结果,而会继续向下执行。你需要将要执行的函数传递过去,它会使用回调的方式,在用户选择后,调用相关的函数。
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号