• 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; //阻止事件冒泡
              })
  • 相关阅读:
    ubuntu下android开发工作环境搭建
    ADB命令行控制界面开关
    chromium os系统编译与环境搭建
    完整代理的简单实现
    OC协议、代理的简单使用
    OC字典的使用
    OC数组的简单使用、NSArray
    OC中NSString的使用、字符串的使用
    OC内存管理、非ARC机制、MRR机制
    OC中重写set和get方法、懒加载
  • 原文地址:https://www.cnblogs.com/zhinian-/p/12916601.html
Copyright © 2020-2023  润新知