2017-06-07 5 views
0

Ich verwende Vollkalender und auf einen einzigen Klick zum bestimmten Tag des Kalenders sollte es Einzelklick-Ereignis auslösen und auf Doppelklick sollte es Doppelklick-Ereignis auslösen.Aber auf Seite laden, wenn ich 1. Mal klicken Es reagiert nicht und Einzel-/Doppelklick funktioniert nicht richtig.Handle Einzel- und Doppelklick-Ereignisse im Vollkalender

/* config object */ 
      $scope.uiConfig = { 
       calendar:{ 
       height: 450, 
       editable: false, 
        defaultView: 'month', 
        columnFormat: { 
         month: 'ddd', 
         week: 'ddd dd/MM', 
         day: 'dddd M/d' 
        }, 
       buttonText: { 
         month: "Mois", 
         week: "Semaine", 
         day: "Jour", 
         today:"aujourd'hui", 
       }, 
       eventClick: $scope.alertEventOnClick, 
       } 
      }; 


$scope.alertEventOnClick = function(calEvent, jsEvent, view) { 


       $("#onClick").click(function (e) { 
        var $this = $(this); 
        if ($this.hasClass('clicked')){ 
         $this.removeClass('clicked'); 

         //perform double-click action 
        }else{ 
         $this.addClass('clicked'); 
         setTimeout(function() { 
          if ($this.hasClass('clicked')){ 
           $this.removeClass('clicked'); 

            //perform single-click action  
          } 
         },10);   
        } 
       }); 

     }; 
+0

dies ist ein bizarrer Ansatz. Warum nicht einfach das eigentliche Javascript-Doppelklick-Ereignis verwenden? https://developer.mozilla.org/en/docs/Web/Events/dblclick – ADyson

Antwort

0

Verwenden fullCalendar eventRender Rückruf Ihre eigenen Veranstaltungen zu befestigen.

Zum Beispiel:

$('#calendar').fullCalendar({ 
    //events: [ 
     //.... 
    //], 
    eventRender: function(event, element) { 
     $(element).on({ 
      click: function() { 
       // Handle click... 
      }, 
      dblclick: function() { 
       // Handle double click... 
      } 
     }); 
    } 
}); 
Verwandte Themen