layui table 行点击事件与列点击事件冲突

Posted zhinian-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layui table 行点击事件与列点击事件冲突相关的知识,希望对你有一定的参考价值。

问题描述:

工具栏的点击事件,会冒泡到行点击事件中,原打算阻止事件冒泡 ,结果失败,阻止不了,索性不用layui官网的工具栏tool和行row监听事件。

table:

<table id="conManager" lay-filter="conManager" class="layui-table layui-form"></table>

 

原本的监听事件,如下:

        //监听行单击事件
        table.on(‘row(conManager)‘, function(obj){
          window.location.href = basePath + ‘/contract/look.do?conId=‘+obj.data.id;
        });
          //监听行内工具栏操作
          table.on(‘tool(conManager)‘, function(obj){
              switch(obj.event) {
                  case ‘edit‘:
                      break;
                  case ‘del‘:break;
           default:
              }
          });

 

更改后,如下:

#conTableInfo为table容器的id
          //监听行单击事件
          $(‘#conTableInfo‘).on(‘click‘,‘div[lay-id="conManager"] .layui-table-body tr‘,function () {
              var _id = table.cache.conManager[parseInt($(this).attr(‘data-index‘))].id;     
              window.location.href = basePath + ‘/contract/look.do?conId=‘+_id;
          })
          //监听行内工具栏操作
          $(‘#conTableInfo‘).on(‘click‘,‘td[data-field="operation"]‘,function (e) {
              var _event = $(this).find(‘[lay-event]‘).attr(‘lay-event‘);
              var _obj = table.cache.conManager[parseInt($(this).parent(‘tr‘).attr(‘data-index‘))];   //行内数据
              switch(_event) {
                  case ‘edit‘:
               break;
                  case ‘del‘:
                      break;
                  default:
              }
              return false; //阻止事件冒泡
          })

 

以上是关于layui table 行点击事件与列点击事件冲突的主要内容,如果未能解决你的问题,请参考以下文章

layui表格点击排序按钮后,表格绑定事件失效解决方法

记录layui的table绑定事件与选项卡的使用

uniapp 之 uni-table组件添加行点击事件

uniapp 之 uni-table组件添加行点击事件

Uniapp 之 uni-table组件设置行点击事件

layui获取表格最后一行数据