今天做项目时,遇到layui中的switch,需要给这个开关添加事件,也就是当你点击是会弹框提
今天做项目时,遇到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({})中。
以上这篇Layui给switch添加响应事件的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Layui switch 响应事件