Issue 829: Mouseout not triggered after mouseover+updateEvent
Status:  Released
Owner: ----
Closed:  Aug 2014
Reported by brandon....@vantixsystems.com, Feb 14, 2011
When a user hovers over an event in the FullCalendar, I execute this code in the eventMouseover

    eventMouseover: function (event) {
      event._title = event.title;
      event.title = "Click to Delete"
      $("#calendar").fullCalendar("updateEvent", event);
    },

All it does is store the original title, and then change it to the delete text. Then it tells the calendar to update the event so it will show the updated title.

Then in the eventMouseout event, I want to reset the title back to what it use to be.

    eventMouseout: function (event) {
      event.title = event._title;
      $("#calendar").fullCalendar("updateEvent", event);
    },

The problem is that with the updateEvent call in the mouseover event, the mouseout event will never fire due to an internal optimization.
Feb 15, 2011
Project Member #1 adamrs...@gmail.com
this bug is due to an optimization for lazily binding event event handlers.
(note to self: attach handlers on mouseMOVE and maybe click. use delegate)

even though this is currently not possible due to a bug, i'd recommend using other means to achieve this. I'd attach an extra div using eventRender (the "click to delete" div) and show it on hover using css. sorry, i can't help you with the particulars.
Summary: mouseout not triggered after mouseover+updateEvent
Status: Accepted
May 14, 2013
#2 ferre.ad...@gmail.com
Hi,

Is this supposed to be fixed in fullcal 1.6.1?
Jul 2, 2013
#3 regin.la...@eksponent.com
I got the example to work by using setTimeout and a boolean guard (because mouseover is called again after updateEvent):

eventMouseover: function (event) {
	if(event.toBeDeleted) return;
	event._title = event.title;
	event.toBeDeleted = true;
	event.title = "Click to Delete"
	setTimeout(function() {
		$('#calendar').fullCalendar('updateEvent', event);
	}, 0);
},

eventMouseout: function(event) {
	event.toBeDeleted = false;
	event.title = event._title;
	setTimeout(function() {
		$('#calendar').fullCalendar('updateEvent', event);
	}, 0);
	$(this).css('border-color', 'red');
}

- Regin
Aug 13, 2013
Project Member #4 adamrs...@gmail.com
(No comment was entered for this change.)
Summary: Mouseout not triggered after mouseover+updateEvent (was: mouseout not triggered after mouseover+updateEvent)
Labels: Type-Bug
Aug 29, 2014
Project Member #5 adamrs...@gmail.com
released:
https://github.com/arshaw/fullcalendar/releases/tag/v2.1.1
Status: Released