我在jqgrid中使用单元格编辑,为此,我使用了许多不同的jqgrid事件,如下所述...1) beforeSelectRow, 2)beforeEditCell, 3)afterEditCell, 4)onCellSelect, 5)ondblClickRow, etc...
现在,当我双击任何一行时,首先执行 beforeselectRow 代码.. 我想防止...但是怎么做呢?
一些示例代码如下:-
ondblClickRow: function(id,irow,icol,e)
{
........
},
beforeSelectRow : function(rowid, e)
{
if(rowid==lastSelected)
{
$sampleDialog.dialog('open');
}
}
不同的 Web 浏览器处理双击事件的方式略有不同。因此,一般来说,您无法在"dblclick"之前阻止"单击"事件。回调beforeSelectRow
将在 jqGrid 代码中定义的 enevt 处理程序click
调用。在dblclick
事件处理程序的jQuery文档中,您可以阅读以下内容(请参阅此处):
不建议将处理程序同时绑定到
click
和dblclick
同一元素的事件。触发的事件顺序各不相同 从浏览器到浏览器,有些之前会收到两个click
事件dblclick
和其他人只有一个。双击灵敏度(最大值 检测为双击的点击间隔时间)可能因以下因素而异 操作系统和浏览器,并且通常是用户可配置的。
您目前所做的只是不推荐绑定"单击"和"dblclick"句柄的方法。
您没有描述您遇到的原始问题,该问题可能位于回调实现ondblClickRow
内部。唯一的解决方案是检查程序的重组,以使beforeSelectRow
内部的操作与ondblClickRow
回调之间没有冲突。