layui table 复选框监听 时 发生行单击冒泡事件 的解决办法

我遇到的问题是这样:
table中开启了复选框和行单击事件,但是点击复选框的时候会先执行单击事件(单击后跳转查看邮件详情)。这个问题很让我头疼,在社区查了很久,有人提到了使用stope(e)或者event.stopPropagation()来阻止冒泡,但是在这里根本行不通啊!因为 row() 中并没有提供event参数啊!
我只好妥协,将row事件换成rowDouble事件,但是双击查看详情确实很不方便,于是我想到了如下办法:

放弃他!


不要使用 row 来监听行了,虽然他更方便,但却无法和同在一行的其他事件兼容!文档中提到这个事件是从 layui 2.4.0 开始新增的,所以我想这也是他跟其他的监听事件不兼容的原因之一吧。
放弃row(),使用 tool() 就可以解决问题啦!
首先在方法渲染的时候,在cols中给除了复选框的列(这是我的需求,因为我需要监听复选框)设置参数event,然后通过tool进行监听,代码如下:

cols: [[
	{ width: 50, type: 'checkbox' },
	{ minWidth: 150, field: 'field', title: '区域',event:'singleclick' }
	{ minWidth: 150, align: 'center', event: 'singleclick', field: 'amount', title: '邮件总数' },
	{ minWidth: 150, align: 'center', event: 'singleclick', field: 'emergency', title: '急需回复' },
	{ minWidth: 150, align: 'center', event: 'singleclick', field: 'waitreply', title: '超时未回复' }
]],
table.on('tool(mails)', function (obj) {
	if (obj.event == 'singleclick')
		window.location.href = "email_list.html?foldertype=" + folderType + "&fieldname=" + obj.data.field;
});

终于解决这个问题了,虽然是个小bug,但是不解决它总感觉像一根细小的鱼刺卡在喉咙里。现在舒服了,哈哈哈!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值