FullCalendar是一個強大的jquery日歷插件,可以實現很多的常用的日歷功能。不過雖然英文文檔很強大,也有很多熱心的大神將英文文檔翻譯成了中文文檔,但是文檔中還是有一些遺漏的地方。
這里就分享一下我使用FullCalendar日歷popover所學到的東西。由於event事件標簽太小,所以需要用到hover顯示更多的信息,最開始使用了eventHover和eventMouseOut方法,后來發現有更好的popover方法。如圖所示:
代碼也很簡單:
$('#calendar').fullCalendar({ defaultView: 'month', defaultDate: '2018-04-12', eventRender: function(eventObj, $el) { $el.popover({ title: eventObj.title, content: eventObj.description, trigger: 'hover', placement: 'top', container: 'body' }); },
然后我有了下一個需求,我希望popover能插入html,這樣我就可以通過popover里面的按鈕來實現修改和刪除event事件。
但是目前的popover一旦鼠標移開event就消失,而且content也只能插入文本。
所以第一步,肯定就是修改container了,將container的“body”改為$el,然后看效果,咦,怎么title和content都看不見了?看了半天發現原來由於更改了父元素導致title和content的顏色融入背景色了。。。。設置css中.popover顏色為black!important就可以了。
然后是第二步,如何插入html呢?官網也沒有找到相關的資料,不過stackoverflow上又找到了,通過設置html為true,然后就可以在content中放置html了。代碼如下:
$el.popover({ title: eventObj.title, html:true, content:$('<div>test</div>'), trigger: 'hover', placement: 'top', container: $el, });
效果圖:
嗯,很完美。