Javascript 当单元格进入编辑模式时,禁用单击除一个单元格(在选定行中)以外的任何位置

Javascript 当单元格进入编辑模式时,禁用单击除一个单元格(在选定行中)以外的任何位置,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,如何在除一行中的一个单元格外的所有网格单元格上禁用单击?当单元格进入编辑模式时,我试图禁用对网格中任何单元格的单击。所以我试着: $('#QCStatus tr td').bind('click',function() { return false; }); //QCStatus is the id of the grid 要启用单击正在编辑的同一行中的单元格,我尝试了以下操作: $('#QCStatus tr.selected-row td[aria-describedby

如何在除一行中的一个单元格外的所有网格单元格上禁用
单击
?当单元格进入编辑模式时,我试图禁用对网格中任何单元格的单击。所以我试着:

$('#QCStatus tr td').bind('click',function() {
        return false;
});

//QCStatus is the id of the grid
要启用单击正在编辑的同一行中的单元格,我尝试了以下操作:

$('#QCStatus tr.selected-row td[aria-describedby="QCStatus_ActionIcons"]').bind('click',function() {
        return true;
});

但这没有任何效果,因为第一个代码段禁用了单击。实现这一点的正确方法是什么?

您可以使用
:not()
在此处排除所选行:

$('QCStatus tr:not(.selected)td')。打开('click',函数(e){
$('pre').prepend('event::'+e.type+'\n');
返回false;
});
。所选{背景:黄色;}

点击
点击
点击
点击
用于
单击
事件要消除的元素。它阻止当前事件的进一步传播

$('tr')。在('click',function()上{
console.log('clicked!');
});
$('.disabled')。在('click',函数(e)上{
e、 停止传播();
});

你好
残废
你好
残废
你好
残废
将“禁用”属性添加到要禁用单击的按钮中

对于div,禁用的属性不起作用


在这些情况下,在特定div的css中使用“指针事件:无;”。

试试
event.stoppropagation()
你能做到吗$('#QCStatus).bind('click',function(){//标识您的单元格并执行其他操作//返回false});'我怎样才能排除所选行中的
td
td[aria descripeby=“QCStatus\u ActionIcons”
?您可以用同样的方法添加这个:
$('#QCStatus tr:not(.selected)td:not([aria descripeby=“QCStatus\u ActionIcons”))
删除刚刚添加的
单击
处理程序的最佳方法是什么
(或还原到默认状态,即使所有内容都可单击)
我想您需要使用
.off()
.on()
绑定/解除绑定事件。它可以解除与之关联的所有单击事件的绑定吗?我只需要解开所附的当前事件。