나는 js noob입니다. 캘린더에서 이벤트를 클릭 할 때 호출되는 eventClick (calEvent, jsEvent, view) 이벤트를 노출하는 jQuery FullCalendar 플러그인을 사용하고 있습니다. 내 이벤트 핸들러에서 반복 이벤트 또는 전체 이벤트의 한 번만 편집할지 묻는 대화 상자가 나타납니다. 문제는 THAT 대화 상자의 버튼 클릭 핸들러가 calEvent 변수에 액세스해야하지만 $ (document) .ready이지만 eventClick 함수 외부의 대화 상자를 인스턴스화해야한다는 것입니다.jquery UI 대화 상자 - 버튼 클릭 이벤트 핸들러
여기 내 코드는 지금까지의 : 나는 eventClick 기능에서 edit_type_dialog의 버튼 클릭 이벤트 핸들러를 통해 calEvent을 얻는 방법 :
$(document).ready(function() {
$('#calendar').fullCalendar({
events: getEvents,
header: {
left: 'title',
center: 'prev,next',
right: 'today month agendaWeek agendaDay'
},
theme: true,
eventClick: function(calEvent, jsEvent, view) {
if(calEvent.readOnly == true) {
return;
}
if(calEvent.recurring) {
if(calEvent.persisted) {
editOccurrence(calEvent);
} else {
$("#edit_type_dialog").dialog("open");
}
} else {
editEvent(calEvent);
}
}
});
$("#edit_type_dialog").dialog({
modal:true,
autoOpen: false,
buttons: {
All:function() {
$(this).dialog("close");
editEvent(calEvent);
},
This:function() {
$(this).dialog("close");
editOccurrence(calEvent);
},
Cancel:function() {
$(this).dialog("close");
}
}
});
function getEvents(start, end, callback) {
//get some events
}
function editEvent(calEvent) {
alert("event edited");
}
function editOccurrence(calEvent) {
alert("occurrence edited");
}
});
그래서 질문은 아래로 비등?