有关单击和双击事件的帮助

时间:2010-12-18 05:35:48

标签: jquery

我遇到了这个奇怪的问题,发现很难解决这个问题。

我正在使用基于点击和双击事件的2个AJAX请求。当我单击时底部窗格更新了新内容(如雅虎邮件),当我双击时,我打开一个对话窗口。有什么方法可以检查用户是否先双击,否则使用单击事件?? ..

目前我正在做的方式,我得到双击的3个AJAX请求,一个用于Dbclick,另外两个用于点击事件..请分享一些如何继续这个...脚本如下..

$('.dataLink').live("click", function() {
    $('#contentBottom').load('bottompane.html');
});

$(".dataLink").live("dblclick", function() {
    $('.plotter').load('Modalwindow.html').dialog('open');
});

2 个答案:

答案 0 :(得分:1)

表格Jquery Api

不建议将处理程序绑定到同一元素的click和dblclick事件。触发的事件序列因浏览器而异,其中一些接收两个点击事件,另一些只接收一个。如果无法避免对单击和双击做出不同反应的界面,则应在单击处理程序中模拟dblclick事件。 我们可以通过在处理程序中保存时间戳,然后将当前时间与后续点击时保存的时间戳进行比较来实现此目的。如果差异足够小,我们可以将点击视为双击。

答案 1 :(得分:0)

使用“state”变量,例如ajaxLoadingSingle和ajaxLoadingDouble,来跟踪事件发生的时间。在每次调用ajax开始时检查状态,如果已经加载和/或应该由另一个处理程序处理,则返回false,否则打开相应的变量。在加载表单方法中关闭状态变量。