layui 多个table 事件无效问题

最近前端切图的同事,大量使用layui框架。  然后我取完数,打算注册表格点击事件的时候,发现第一个表格的事件是正常的,其他表格的事件无效。 然后往复检查表格之间的差异,没有任务返现。

最后发现是lay-filter的问题;layui定位标签,不是通过id,class,也不是通过全局参数,是通过lay-fllter的属性值。 使用layui工具,切记html里看看lay-filter;

最后在html里找到问题的table标签,增加属性lay-filter='table2',事件就正常了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layuitable 是基于 layui 框架的表格组件,在其中可以通过监听表格的事件来实现点击事件。具体实现步骤如下: 1. 在表格渲染之前,设置表格的事件监听器: ```javascript layui.use('table', function(){ var table = layui.table; //监听单元格事件 table.on('tool(test)', function(obj){ //获取当前行数据 var data = obj.data; //获取当前行事件 var event = obj.event; //根据事件类型进行相应的处理 if(event === 'detail'){ //处理详情事件 } else if(event === 'edit'){ //处理编辑事件 } else if(event === 'delete'){ //处理删除事件 } }); //渲染表格 table.render({ elem: '#test', url:'/demo/table/user/', cols: [[ {field:'id', title:'ID', width:80}, {field:'username', title:'用户名', width:120}, {field:'sex', title:'性别', width:80, sort:true}, {field:'city', title:'城市', width:100}, {field:'sign', title:'签名', width:200}, {field:'experience', title:'积分', width:80, sort:true}, {field:'score', title:'评分', width:80, sort:true}, {field:'classify', title:'职业', width:100}, {field:'wealth', title:'财富', width:135, sort:true}, {fixed: 'right', title:'操作', toolbar:'#barDemo', width:150} ]] }); }); ``` 2. 在表格的 HTML 代码中,设置每个单元格的事件类型: ```html <table id="test" lay-filter="test"></table> <script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a> <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit">编辑</a> <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a> </script> ``` 在上述代码中,通过 lay-event 属性为每个操作按钮指定了相应的事件类型,当用户点击该按钮时,就会触发相应的事件处理函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值