layui 多次加载数据表格,导致对表格的操作按钮的一次点击触发多次点击事件

37 篇文章 0 订阅
13 篇文章 0 订阅

将注册按钮事件写到加载的第一个layui模块中,可防止多次加载表格后触发多次data-type点击事件,代码如下:

 <button class="layui-btn layui-btn-sm" title="添加一行" data-type="addRow"><img style="width: 15.2px; margin-top: -3px;" src="../../static/img/zj.png"/> 增加
</button>

加载第一个layui模块

//定义事件集
 var active = {};
 layui.use(['table', 'tree', 'form'], function() {
   	var form = layui.form;
   	var tree = layui.tree;
    var table = layui.table;
	 //注册按钮事件
	 $('.layui-btn[data-type]').on('click', function () {
	     debugger
	     var type = $(this).data('type');
	     activeByType(type);
	 });
	
	 //激活事件
	 var activeByType = function (type, arg) {
	     debugger
	     if (arguments.length === 2) {
	         active[type] ? active[type].call(this, arg) : '';
	     } else {
	         active[type] ? active[type].call(this) : '';
	     }
	 }
})

//填充表格,加载第二个layui模块

layui.use(['jquery', 'table', 'layer', 'form'], function () {
    var $ = layui.$,
   		table = layui.table,
   		form = layui.form,
   		layer = layui.layer;
    form.render('select');
     //数据表格实例化
     var tbWidth = $("#tableRes").width();

     var layTableId = "layTable";

     //表格
     var exmtab = table.render({
         elem: '#table-list',
         data: window.viewObj.tbData,
         id: layTableId,
         method: 'POST',
         cols: [
             [ {
                 title: '序号',
                 type:'numbers'
             },{
                 type: 'checkbox'
             },{
                 field: 'inventoryName',
                 title: '存货名称',
                 align: 'center'
             }
             ]
         ],
         page: true,
         limits: [30, 50, 100, 500, 1000], //每页条数的选择项
         limit: 30, //每页默认显示的数量
         size: 'sm', //小尺寸的表格
         even: true, //开启隔行背景
         height: 'full-165', //高度最大化减去差值
         cellMinWidth: 120,
         //done - 数据渲染完的回调
         done: function (res, curr, count) {
             //由于layui 设置了超出隐藏,所以这里改变下,以兼容操作按钮的下拉菜单
             $(".layui-table-box, .layui-table-cell").css('overflow', 'visible');
         }
     });
     form.render();
     
   	 active = {
         //新增行
         addRow: function () { //只会调用一次 }
      }
})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值