Layui table如何设置点击行操作列时阻止行点击事件触发

畫卷琴夢

畫卷琴夢

2026-07-27

864人浏览

原创

操作列按钮点击触发row事件的根本原因是事件委托机制导致冒泡至tr,必须用layui.stope(obj.event)在tool回调首行阻断冒泡,或在2.8.4+版本中为操作列容器添加lay-unrow属性实现原生渲染下的自动跳过。

为什么操作列按钮点击会触发row事件

根本原因是layuirow事件监听在tbody上,用事件委托捕获所有tr内部点击;而操作列按钮(比如lay-event="edit")本身就在tr里,点击后事件自然冒泡到tr,从而触发row回调——哪怕你只点了按钮文字或图标,整行也会被响应。

必须用layui.stope()tool回调里阻断冒泡

这是最轻量、最可靠的方式。Layui提供的layui.stope()专为这种场景设计,只阻止冒泡,不影响按钮自身行为(如跳转、弹窗等)。

  • 必须在table.on('tool(filter)', ...)回调的第一行调用layui.stope(obj.event)
  • 不能用e.stopPropagation()return false:前者在部分版本兼容性差,后者会误杀默认行为(比如<a></a>链接跳转)
  • 示例写法:
table.on('tool(test)', function(obj){
  layui.stope(obj.event); // ✅ 关键:立刻阻断冒泡
  if(obj.event === 'edit'){
    layer.open({content: '编辑 ' + obj.data.id});
  }
});

lay-unrow属性仅对2.8.4+有效,且DOM必须原生渲染

如果你用的是Layui 2.8.4或更高版本,可以在操作列模板外层容器加lay-unrow属性,Layui会自动跳过该区域的行事件派发。

jQuery点击事件遮罩弹出层可移动特效代码
jQuery点击事件遮罩弹出层可移动特效代码

"jQuery点击事件遮罩弹出层可移动特效代码下载。一款jquery弹出层插件制作注册表单点击按钮弹出层表单提交效果,可支持拖到的jQuery弹出层效果。标题、高度、宽度等可以自定义弹出层js插件。

下载
  • 写法示例:<div lay-unrow><button lay-event="del">删除</button></div>
  • 该属性只在templet函数或<script type="text/html"></script>模板中**原生渲染**时生效
  • 如果操作列DOM是JS后续插入(比如$(td).html('...')),lay-unrow完全不生效
  • 配合rowClickToCheck: true时,仅靠layui.stope()不够,必须加lay-unrow才能避免误勾选

别绕开tool事件自己绑click

有人试图给按钮单独绑定原生onclick或jQueryclick,再手动调stopPropagation()——这会破坏Layui事件体系,导致obj.data拿不到、obj.tr为空、甚至reload后事件丢失。

  • 必须用lay-event属性 + table.on('tool(filter)')作为唯一入口
  • 模板中不能漏掉lay-event,否则tool事件根本不会触发
  • 如果坚持用row事件统一处理,就得手动过滤目标:$(e.target).closest('td[data-field="operation"]').length === 0
真正容易被忽略的是:layui.stope()必须传obj.event,不是event对象本身;且它只在tool回调里起作用——一旦你没走这条路,就等于没关闸。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

点击事件 layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

1096

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

317

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

993

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

890

6

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

8

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

1

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

7

14

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

4

10

火山引擎域名备案流程详解
火山引擎域名备案流程详解

火山引擎域名备案适合需要在火山引擎云服务器、对象存储、CDN或网站服务上绑定域名的用户参考。本专题整理备案入口、账号实名认证、备案类型选择、主体信息填写、网站信息提交、资料上传、初审核验、管局审核和备案失败排查,帮助用户完成网站上线前的备案流程。

2026.08.04

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 11.4万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 9.7万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.5万人学习