双击table的td进行编辑

这篇博客介绍如何在动态生成的HTML表格中,通过JavaScript实现单元格(TD)的双击编辑功能,适用于AJAX加载的数据展示。
摘要由CSDN通过智能技术生成

由于table是ajax拼接的,所以就写了个table的头出来,方便看一下

$('#tb_list').on('dblclick', 'td', function () {
   
    var oldVal = $(this).text();
    var input = "<input type='text' id='tmpId' value='" + oldVal + "' >";
    $(this).text('');
    $(this).append(input);
    $('#tmpId').focus();
    $(
在JavaScript中,实现表格单元格(td或th)的双击事件以使其变为可编辑状态通常涉及到以下几个步骤: 1. 首先,你需要获取到表格元素,并给每个单元格添加点击事件监听器。这可以通过`addEventListener('click', function)`来完成。 ```javascript const table = document.getElementById('your-table-id'); table.addEventListener('click', cellClickHandler); ``` 2. 创建`cellClickHandler`函数,检查是否进行双击操作。你可以通过计算两次点击的时间间隔来判断。如果时间间隔小于一定阈值(比如400毫秒),则认为是双击。 ```javascript let isDblClick = false; function cellClickHandler(event) { if (isDblClick) { // 单元格已变为可编辑状态,处理编辑逻辑 editCell(event.target); } else { const timeSinceLastClick = new Date() - lastClickTime; // 假设lastClickTime保存了上一次点击的时间 if (timeSinceLastClick < 400) { isDblClick = true; lastClickTime = new Date(); } else { isDblClick = false; } } } ``` 3. 当单元格变为可编辑状态时,你可以添加相应的UI变化,如改变背景色、启用输入框等,并绑定编辑完成后恢复原状的逻辑。 4. 编辑完成后,记得清除`isDblClick`标志,以便于下一次双击时继续触发同样的过程。 ```javascript function editCell(cell) { cell.contentEditable = true; cell.classList.add('editable'); lastEditTime = new Date(); // 更新最近编辑时间 // 添加失去焦点事件处理,编辑结束后取消内容编辑 cell.addEventListener('blur', () => { cell.contentEditable = false; cell.classList.remove('editable'); }); } // 初始化上一次点击时间 lastClickTime = new Date(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值