我被困在这里需要一些认真的帮助。我不得不使用fullcalendar做一些工作,我按照标准程序完成了所有工作。日历显示正确插槽上的所有事件,工作正常。有些事件需要呈现但仍然隐藏并等待事件显示,所以我在这里做的只是在隐藏时将css display属性设置为none,并在可见时阻止。到目前为止,一切工作都很完美,问题来自于从插槽A到插槽B的拖动和事件,由于某些奇怪的原因,当拖动事件开始时,事件框应该在光标附近,但事实并非如此,事件框是设置在光标下方约200px和右边100px。
我做了一些调试,发现即使事件框的top和left属性设置正确(比如top:300px,left:150px),当拖动事件开始时,左边的值变为0px和top像580px。我不明白为什么会发生这种情况,我做错了什么,或者我应该做些什么
答案 0 :(得分:1)
问题在于FullCalendar使用jQuery UI的位置实用程序来确定事件的呈现位置,并且大多数浏览器在指定隐藏元素的顶部/左侧方面表现不佳。因此,当你使事件可见时,jQuery不再知道他们在哪里,并最终做你看到的疯狂的东西。
最简单的解决方案:不要使用CSS来显示/隐藏您的活动。使用FullCalendar API创建事件后应显示该事件。 renderEvent就是你想要的东西:
$('#mycalendar').fullCalendar( 'renderEvent', event [, stick ] )
替代可能性:在CSS中另外指定top: 0px; left: 0px
,同时设置display: none;
。有时这会让位置正常工作。