当前位置:主页 > 网页前端 > JavaScript代码 >

Layui给switch添加响应事件的例子

时间:2021-09-15 10:43:32 | 栏目:JavaScript代码 | 点击:

今天做项目时,遇到layui中的switch,需要给这个开关添加事件,也就是当你点击是会弹框提示

刚开始我用传统的处理方法,直接给它添加个js事件,到最后会发现,没响应,于是我查文档,逛论坛终于找到一个解决办法,代码如下

 <input type="checkbox" name="zzz" lay-skin="switch" lay-filter="switchTest" lay-text="开启|关闭" checked="checked">//开关
 //js处理
 layui.use(['form', 'jquery', 'layer'], function () {
      var form = layui.form;
      var jquery = layui.jquery;
      var layer = layui.layer;
      //监听开关事件
      form.on('switch(switchTest)', function (data) {
        var contexts;
        var x = data.elem.checked;//判断开关状态
        if (x==true) {
          contexts = "你确定要启动么";
        } else {
          contexts = "你确定要关闭么";
        }
        layer.open({
          content: contexts
          , btn: ['确定', '取消']
          , yes: function (index, layero) {
            data.elem.checked = x;
            form.render();
            layer.close(index);
            //按钮【按钮一】的回调
          }
          , btn2: function (index, layero) {
            //按钮【按钮二】的回调
            data.elem.checked = !x;
            form.render();
            layer.close(index);
            //return false 开启该代码可禁止点击该按钮关闭
          }
          , cancel: function () {
            //右上角关闭回调
            data.elem.checked = !x;
            form.render();
            //return false 开启该代码可禁止点击该按钮关闭
          }
        });
        return false;
      });
    });

哈哈,总之,既然用人家layui框架,就要准守人家的规矩!任何事件都要监听的,单纯的写js事件是没反应的,监听事件要写在 layui.use({})中。

您可能感兴趣的文章:

相关文章