我使用Jquery UI对话框与FullCalendar插件。
我的问题是UI对话框不阻塞。
FullCalendar有一个回调函数eventResizeStop
,在这个回调函数中,我计划包含一个用于用户输入的对话框。
eventResizeStop: function (event, jsEvent, ui, view) {
$('#testDiv').dialog({
autoOpen: true,
modal: true,
width: 500,
buttons: {
"Ok": function () {
event.id = 123;
$(this).dialog("close");
}
}
});
}
问题是这个回调函数操作在显示这个对话框时没有被阻止。它只是继续它的操作,并调用FullCalendar插件中的EventResize
函数。
我使用阻塞循环来防止这种行为,但页面变得无响应,这导致了问题。
如何使这个阻塞事件?
有点难以调试,但是根据您所描述的,当您将函数保留为空时会发生什么
eventResize: function(event,dayDelta,minuteDelta,revertFunc) {}
或
eventResize:
或者不要在对象定义中添加调用,甚至不要返回false;在函数中。如果你能提供一个代码块,这可能有助于调试。
我最终创建了一个新的fullcalendar函数,它可以在我从UI发起调用时调整我的事件大小。所以我遵循的方法是从fullcalendar插件内的resize停止句柄中删除eventResize,并在完成后单独调用它。
这需要包含一个新的属性函数来处理来自UI的调用,然后从它们重定向到特定视图的函数。输入from Calendar's function->Views函数并调用event resize
当然这需要变量的来回传递