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