Layui Switch 开关监听事件实现方法

作者:微光时间:2026-10-23 10:47:53浏览:200

本文介绍在 Layui 框架中为 Switch 开关组件添加响应事件的正确方法。通过演示如何正确使用 layui.use 和 form.on 进行事件监听,解决直接绑定 JS 事件无效的问题,并提供完整的代码示例供参考。

Layui Switch 监听事件实现

在开发过程中,有时需要为 Layui 的 switch 组件绑定交互逻辑,例如在用户点击开关时触发弹窗提示。

若尝试使用传统的 JavaScript 事件绑定方式,往往发现无法触发响应。经过查阅官方文档及相关技术论坛,可以找到正确的实现方案,具体代码如下。


 <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 回调函数内部执行。

上述内容即为 Layui Switch 开关响应事件的完整实现示例,供开发者参考使用。

作者最新文章