如何阻止JqGrid复选框触发双击事件,仅允许行其他区域触发编辑?
解决JqGrid多选框双击触发编辑的问题
要阻止复选框区域触发双击编辑事件,只需在ondblClickRow回调中判断点击目标是否为复选框或其所在单元格,若是则跳过后续逻辑:
ondblClickRow: function (rowid, iRow, iCol, e) { const $target = $(e.target); // 检查点击的是复选框,或是多选列的单元格 if ($target.is('input[type="checkbox"]') || $target.closest('td.jqgh_cb').length) { return; } const rowData = $(this).getRowData(rowid); document.location.href = "../record/" + rowData['id']; }
逻辑说明:
- 通过事件对象
e获取点击的目标元素$target - 设置两种判断条件:
- 直接判断目标是否为复选框(
input[type="checkbox"]) - 判断目标是否在多选列的单元格内(JqGrid为多选列单元格默认添加了
jqgh_cb类)
- 直接判断目标是否为复选框(
- 满足任一条件则直接返回,不执行跳转编辑的逻辑,仅允许点击行内其他区域触发双击编辑
内容的提问来源于stack exchange,提问作者Nico44044
相关产品推荐
相关产品推荐

