我正在使用帶有多個資源的fullcalendar fork。 我想用回調「eventMouseover」改變邊框顏色爲具有相同標題的所有事件,我有這樣的事情:fullcalendar eventMouseover rerenderEvents
eventMouseover: function(event, jsEvent, view) {
//get day viewed
var currentViewDate = $('#calendar').fullCalendar('getDate')
var events = $('#calendar').fullCalendar('clientEvents', function(event) {
//get list of events for displayed day
if (moment(event.start).format('YYYY-MM-DD') == currentViewDate.format('YYYY-MM-DD')) {
return true;
}
});
//search events with the same title as event where is mouse over
for (var i = 0; events.length > i ; i++) {
if (events[i].title == event.title) {
events[i].borderColor = 'blue'
console.log(event.title)
}
}
$('#calendar').fullCalendar('rerenderEvents')
}
和它的作品,意味着它改變了特定事件邊框顏色,但看起來像當我把鼠標放在事件上時有奇怪的事情, 瀏覽器的內存使用量正在迅速增長,CPU利弊。約50%。 看起來它不斷重現渲染事件。
正如你可以從我的代碼見上面,我把
console.log(event.title)
檢查如何與特定的標題很多次活動將在控制檯中顯示。每次
沒有
$('#calendar').fullCalendar('rerenderEvents')
計數是正確的,當我把鼠標指針的事件,但邊框的顏色沒有改變, 但
$('#calendar').fullCalendar('rerenderEvents')
計數不正確,每次當鼠標時間指針在事件上,計數在控制檯不斷增長和CPU缺點。正在增長和記憶, 但邊界被更改爲所有具有相同標題的事件。
有任何解決方法執行
$('#calendar').fullCalendar('rerenderEvents')
只有一次,當鼠標懸停事件? 或者有人可以幫助以另一種方式做到這一點。