Events 当用户双击jqgrid中的任何行时,阻止beforeSelectRow事件

Events 当用户双击jqgrid中的任何行时,阻止beforeSelectRow事件,events,jqgrid,event-handling,Events,Jqgrid,Event Handling,我在jqgrid中使用单元格编辑,为此,我使用了许多不同的jqgrid事件,如下所述。。。 1) 在选择行之前,2)在编辑单元格之前,3)在编辑单元格之后,4)在选择单元格之前,5)在单击行之后,等等 现在,当我双击任一行时,beforeselectRow代码首先被执行。。我想阻止。。。但是怎么做呢 一些示例代码如下所示:- ondblClickRow: function(id,irow,icol,e) { ........ }, beforeSelectRow : function(row

我在jqgrid中使用单元格编辑,为此,我使用了许多不同的jqgrid事件,如下所述。。。 1) 在选择行之前,2)在编辑单元格之前,3)在编辑单元格之后,4)在选择单元格之前,5)在单击行之后,等等

现在,当我双击任一行时,beforeselectRow代码首先被执行。。我想阻止。。。但是怎么做呢

一些示例代码如下所示:-

ondblClickRow: function(id,irow,icol,e)
{
  ........
},
beforeSelectRow : function(rowid, e) 
{   

    if(rowid==lastSelected)
    {
        $sampleDialog.dialog('open');
    }
}

不同的web浏览器处理双击事件的方式略有不同。所以一般来说,您不能在“dblclick”之前阻止“click”事件。将在jqGrid代码中定义的
click
enevt处理程序的内部调用SelectRow之前的回调。在
dblclick
事件处理程序的jQuery文档中,您可以阅读以下内容(请参阅):

不建议将处理程序绑定到
单击
dblclick
相同元素的事件。触发事件的顺序各不相同 从一个浏览器到另一个浏览器,其中一些浏览器接收到两个
单击之前的事件
dblclick
和其他选项只有一个。双击灵敏度(最大值 检测为双击的两次单击之间的时间间隔)可能因 操作系统和浏览器,并且通常是用户可配置的

您当前所做的并不是绑定“click”和“dblclick”句柄的推荐方法


您没有描述您所遇到的原始问题,该问题可能在回调实现中的某个地方。唯一的解决方案是在SelectRow
和ondblClickRow回调之前检查程序的重组,以确保
内部的操作不会发生冲突。

不同的web浏览器以稍微不同的方式处理双击事件。所以一般来说,您不能在“dblclick”之前阻止“click”事件。将在jqGrid代码中定义的
click
enevt处理程序的内部调用SelectRow
之前的回调。在
dblclick
事件处理程序的jQuery文档中,您可以阅读以下内容(请参阅):

不建议将处理程序绑定到
单击
dblclick
相同元素的事件。触发事件的顺序各不相同 从一个浏览器到另一个浏览器,其中一些浏览器接收到两个
单击之前的事件
dblclick
和其他选项只有一个。双击灵敏度(最大值 检测为双击的两次单击之间的时间间隔)可能因 操作系统和浏览器,并且通常是用户可配置的

您当前所做的并不是绑定“click”和“dblclick”句柄的推荐方法


您没有描述您所遇到的原始问题,该问题可能在回调实现中的某个地方。唯一的解决方案是在选择Row
ondblClickRow
回调之前检查程序的重组,以确保
内部的操作不会发生冲突。

感谢您的帮助。。。!!已经从beforeSelectRow中删除了类似的代码(尽管这很有用),因此现在不会出现这个问题。。但是仍然使用一些超时和所有,我们不能阻止双击的点击事件吗@对不起,我不明白你说的“超时”是什么意思。而且不清楚你为什么不回答我的问题。从15个声望点开始,你将获得额外的投票权来回答任何有用的问题:每天大约30票(见)。使用投票,您将帮助stackoverflow的其他访问者找到有用的信息。抱歉,未能接受。。除了这个问题,我对你所有的其他答案都很满意。。。我只是错过了这一次!!我说的是jquery的settimeout函数。。通过在click event中使用setTimeOut函数提供一些超时。。我们不能在双击时阻止执行单击事件代码吗?@mayur:双击将在单击后触发,因此现在采取措施阻止单击事件已经太迟了。你应该重新组织你的代码,这样你想要防止的问题就不存在了。我无法更详细地解释,因为您没有详细描述您的程序在这两个事件处理程序中执行的操作以及问题存在的原因。而且你应该准确。JavaScript函数是
setTimeout
,没有“jquery的setTimeout函数”或“setTimeout函数”。我认为你应该用一个代码示例来解释你存在的问题。。我已经正确地组织了代码。。现在。。I’我没有面临任何问题。。我问这个是出于好奇。。因此,如果将来,任何其他插件中都会再次出现这样的问题。。!!再说一次,你是对的。。它的javascript功能只有!!谢谢你的帮助。。。!!已经从beforeSelectRow中删除了类似的代码(尽管这很有用),因此现在不会出现这个问题。。但是仍然使用一些超时和所有,我们不能阻止双击的点击事件吗@对不起,我不明白你说的“超时”是什么意思。而且不清楚你为什么不回答我的问题。从15个声望点开始,你将获得额外的投票权来回答任何有用的问题:每天大约30票(见)。使用投票,您将帮助stackoverflow的其他访问者找到有用的信息。抱歉,未能接受。。除了这个问题,我对你所有的其他答案都很满意。。。我只是错过了这一次!!我说的是jquery的settimeout函数。。通过在click event中使用setTimeOut函数提供一些超时。。我们不能在双击时阻止执行单击事件代码吗?@mayur:双击将在单击后触发,因此现在采取措施阻止单击事件已经太迟了。你应该重新组织你的代码,这样你想要防止的问题就不存在了。我无法更详细地解释,因为您没有详细描述您的程序在这两个事件处理程序中执行的操作以及问题存在的原因。莫洛夫