我正在使用Fullcalendar(http://arshaw.com/fullcalendar/)並試圖讓它在對話框中顯示。Fullcalendar不在對話框中呈現
當我點擊按鈕打開對話框時,會出現對話框和日曆呈現,但它只顯示實際日曆的左上角。如果我然後正確拖動對話框的角落,即使是1毫米的日曆,也可以完全呈現對話框空間的水平和垂直。
我在Fullcalendar網站上找到了一個關於渲染的參考,這聽起來正是我所需要的 - 它迫使日曆立即渲染並調整它的大小。
網站上的例子(http://arshaw.com/fullcalendar/docs/display/render/)使用標籤和建議:
$('#my-tabs').tabs({
activate: function(event, ui) {
$('#calendar').fullCalendar('render');
}
});
我的問題是,因爲我不知道在哪裏把它放在我不能得到這個在我的情況下工作 - 我簡單的JS代碼如下:
$(document).ready(function() {
$("#open").button().click(function() {
$("#dialog").dialog("open");
});
$('#calendar').fullCalendar({
eventSources: [
'json_feed.php'
]
});
$("#dialog").dialog({
autoOpen: false,
height: 450,
width: 450,
modal: false,
activate: function(event, ui) {
$('#calendar').fullCalendar('render');
}
});
});
在控制檯中沒有錯誤,所以任何人都可以闡明爲什麼這不起作用?
感謝
'dialog'沒有'activate'選項或事件,請嘗試'open'。在jsfiddle.net創建一個演示 – charlietfl
創建一個小提琴並打開已修復它 - 激活它不能正確顯示,直到您調整包含窗口(http://jsfiddle.net/xJ964/),但使用打開(http:///jsfiddle.net/xJ964/1/)它第一次正常工作。如果你想添加一個答案將接受,謝謝 – bhttoan
正確...插件中的代碼永遠不會尋找一個選項'activate'來運行它的代碼,所以它什麼都不做 – charlietfl