jq+layui之table表每行的编辑按钮只能点击触发一次的问题的解决

在使用jq和layui构建表格时,遇到点击编辑按钮只能触发一次的问题,原因是表格行被添加了layui-table-hover类。解决方法是在事件中添加一行代码移除该类。此外,如果layer.open()在for循环内,可能导致关闭按钮需点击两次才生效,通过在相关操作后添加return false;可解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

【问题1描述】

  在写好表之后,测试时会发现,当你点击第一行的“修改”,突然不想修改了,关闭了“修改”的弹窗,但是这时候你想到刚才第一行的修改还有地方要修改,你重新点击“修改”按钮,这时候它似乎故意跟你过不去似的,修改的弹窗不出现了。

  干着急没用啊,我们要解决问题。

【问题出现的原因】

  为什么会出现这个问题呢?我们来共同探索一下。

  在“修改”按钮的事件里面,我们遍历$(".layui-table-body tr")这个DOM元素,并打印出这个DOM元素的内容。我们点击第一行的修改之后,关闭弹窗,点击第二行,再关闭弹窗,再点击第三行。控制台的打印如下:

 

  由此可见,当“修改”按钮的事件被触发时,相应的tr就会被挂上layui-table-hover这个类。

【解决方法】

  回归到我们出现bug的操作流程,我们把目标转向第一行,点击“修改”按钮,关闭弹窗,再一次点击刚才点击过的同一个“修改”按钮。这个问题我们用一行代码$(".layui-table-body tr").removeClass('layui-table-click');来解决问题。

【问题2描述】

  关键问题(什么问题题目写得很清楚呢)解决完了,可是,你也许会遇到另外一个问题,在点击“取消”或者右上角的关闭按钮时,不能关闭弹窗,而是要再点击一次,才能关闭。这个问题不是人人都会遇到,但如果你的layer.open({...})写在f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值