2013-01-18 2 views
0

내가이 작업을 수행하는 방법은 "하루 차단"이라는 아이디어를 사용할 수없고 사용할 수 없다는 아이디어입니다. 하루 종일 블록에 이벤트가 있어도 클릭 할 수있게하려면 어떻게해야합니까?Fullcalendar : 'dayClick'팝업 이벤트가 존재하는 경우

차단하려는 날에 현재 이벤트가있는 경우 해당 이벤트를 팝업으로보고 싶습니다.

현재 "dayClick"을 활성화하는 유일한 방법은 빈 영역을 클릭하는 것입니다. 그러나 이벤트를 클릭하면 "dayClick"이 트리거되지 않습니다. 어떤 도움이라도 대단히 감사합니다!

답변

2

이벤트를 클릭하면 dayClick에 필요한 데이터를 사용할 수 없습니다 (eventClick). dayClick에 도착하기 위해 이벤트를 자세히 조사 할 방법을 모르겠습니다. 즉, $ .trigger를 호출하여 dayClick을 호출하는 방법을 생각할 수 없습니다.

eventClick 콜백에서 필요한 것을 수행 할 수 있어야합니다. 개별 이벤트를 만들 때 속성을 사용 가능 또는 사용 불가로 설정하십시오. 어쩌면 이런 식으로 :

var events = [{ 
       id: 1, 
       title: 'This is a blocked day', 
       start: 'Wed, 18 Oct 2009 08:00:00 EST', 
       color:'#fff',// red 
       blocked: true 
      }, 
      { 
       id: 2, 
       title: 'This is an available day', 
       start: 'Thu, 19 Oct 2009 08:00:00 EST', 
       color: '#07A800', // green 
       blocked: false 
      }]; 

$('#cal').fullcalendar({ 
    events: events, 
    eventClick: function(calEvent, jsEvent, view) { 
     if(calEvent.blocked == true) {// be sure to set a 'blocked' property in your event 
      alert('This time is not available!');     
     } else { 
      $('#newEventDialog').dialog('open');// open a dialog to save new event 
     } 
    } 
}); 
+0

기본적으로 하루를 "차단"하여 회색으로 그려 내고 싶습니다. 따라서 해당 날짜에 이벤트를 작성할 수 없습니다. 그리고 이미 하루 만에 이벤트가있을 경우 목록에서 이벤트를 뱉어 낼 수 있습니다. 그리고 여전히 하루를 막으려는 경우이 목록/팝업에서 할 수 있습니다. – JuanArreguin

+0

api는 특정 날짜를 '회색으로 표시'하는 방법을 제공하지 않습니다. 그리고 문법적으로 동작을 제어하려면 eventClick 및 dayClick 콜백을 사용해야합니다. 두 세트의 이벤트를 수행해야 할 수도 있습니다. 실제 이벤트 인 하나의 세트와 '회색으로 표시된'날의 공간을 차지하는 데 사용하는 다른 세트. – ShadeTreeDeveloper

관련 문제