2012-01-10 29 views
0

我試圖在fullCalendar事件執行一個動作時,單上點擊日曆事件的事件,並執行當在同一事件雙擊,並正在運行與單一的問題,另一個動作點擊事件觸發dblClick。如何處理兩者DBLCLICK並單擊

我想改變一個點擊的一系列事件的邊框顏色,並雙擊打開編輯對話框。

我在這樣的eventRender功能試過,但它未奏效。此外,在離開click事件出來eventRender和使用eventClick功能單一的點擊,它的行爲方式相同。當有沒有在eventClick或點擊綁定,但只要我在點擊代碼綁定或eventClick,DBLCLICK從來沒有發射

 element.bind('dblclick', function(ev) { 
      editEvent(event,element,view); 
      alert('double click!'); 
     }); 
     element.bind('click', function(ev) { 
      var eventSeries=$('#calendar').fullCalendar('clientEvents', event.id); 
      $(eventSeries).each(function(){this.borderColor='red'}); 
      $('#calendar').fullCalendar('updateEvent', eventSeries); 
      alert('single click!'); 
     }); 

DBLCLICK觸發罰款。有誰知道我可以如何處理這兩種類型的事件?

回答

3

你可以推出自己的單次點擊/雙擊事件,本質上,使用的setTimeout來觸發給予足夠的時間讓用戶完成第二次點擊,如果他們試圖雙擊後單擊事件。

這裏的小提琴:http://jsfiddle.net/wfG6k/

$button.bind('click', function(event) { 

    var doubleClickOpportunity = 200, // Adjust this to whatever feels right 
     $elem = $(event.target), 
     clicker = $elem.data('clicker'); // Holder for the doubleclick setTimeout 

    if (clicker) { 
     // If there's a setTimeout stored in clicker, then this is a double click 
     clearTimeout(clicker); 
     $elem.data('clicker', ''); 
     $elem.trigger('doubleclick'); 
    } else { 
     // Otherwise, it's either a single click or the beginning of a double click 

     // So set a timer to decide which it is - if the timer runs out, 
     // it's just a single click. 
     $elem.data('clicker', setTimeout(function() { 
      $elem.data('clicker', ''); 
      $elem.trigger('singleclick'); 
     }, doubleClickOpportunity)); 
    } 

}); 

$button.bind('singleclick', function() { 
    // I'm a single click! 
}); 

$button.bind('doubleclick', function() { 
    // I'm a double click! 
}); 
+0

感謝您的幫助。在您回覆之前,我正在尋找類似的解決方案,但我仍然遇到問題。你撥弄我的偉大工程,我添加入含有[fullCalendar]小提琴,它工作正常那裏。在我的代碼中,它在Chrome和FF中運行良好,但在Internet Explorer中仍然存在問題。雙擊觸發是一次點擊,並且只有當您點擊3次雙擊事件觸發時纔會觸發。在我的代碼中必須有別的東西引起這個問題!謝謝 – driedger 2012-01-10 21:54:11

+0

祝你好運,找到問題! – Nate 2012-01-11 15:29:40

相關問題