Issue 917: jQuery Functions don't fire in Internet Explorer during 'loading: '
Status:  Done
Owner: ----
Closed:  May 2011
Reported by jordan.b...@gmail.com, Apr 19, 2011
I have attached some jQuery events to show and hide a loading selector. 

As such: 

-------------------------

loading: function(isLoading, view) {
    if (isLoading) {				   $('.loadmask').css('visibility','visible');
$('.loadmask-msg').css('visibility','visible');
} else {
$('.loadmask').css('visibility','hidden');
$('.loadmask-msg').css('visibility','hidden');
}
}

These events fire normally in older versions of the calendar, and normally in browsers like Firefox and Chrome, but DO NOT FIRE in Internet Explorer 8/9. 
Apr 19, 2011
#1 jordan.b...@gmail.com
is it possible this is a: jQuery-UI / Position / Z-Index Bug error?

I have the same issue using jQuery 'Mask' plugin! such as:

loading: function(isLoading, view){
if(isLoading) {
$('#myCal').mask();
}
else{
$('#myCal').unmask();
}
}

Apr 20, 2011
#3 p.stud...@gmail.com
what happens if you try 

.css('display','none');
-or-
$('#id').show() / hide()

and also try calling an ID instead maybe?

I am Using jQuery 1.5.x and jQueryUI ..


EG.

* loading calendar
loading: function(bool) { if (bool) $('#loadingImg').show(); else $('#loadingImg').hide();  },

*after calend loaded
//ATTACHING A LOADING IMAGE
$('.fc-header-title').append('<img id="loadingImg" style="width:16px; height:11px; float:none; margin-top: -25px;" src="images/loadingSmall.gif" />');

Apr 20, 2011
#4 jordan.b...@gmail.com
Hi p.stud, 

I think I've pretty much nailed the problem down to some sort of 'overlapping' issue. All the script seems to fire normally - so I was off on that part. I just can't figure out how to 'overlap' the entire calendar.

I found an updated to the 'loadmask-0.4' library that is integrated with the jQuery-UI 'overlay' class/selectors again this seems to function normally until the calendar is loaded, than the mask 'disappears' behind other elements or isn't shown!
Apr 20, 2011
#5 jordan.b...@gmail.com
Even setting: 'z-index: 99999' doesn't display the mask correctly and with that element set I don't think anything could appear in front of it, unless I'm wrong about how the jQuery UI Elements that make the calendar are loaded onto the screen. 

What's so frustrating is that it worked before in all browsers in jQuery UI 1.8.6/FullCal 1.4.8, but after upgrading it's broken.
Apr 20, 2011
#6 jordan.b...@gmail.com
(No comment was entered for this change.)
fullcal-loading1.jpg
142 KB   View   Download
Apr 20, 2011
#7 jordan.b...@gmail.com
Could it be that the time between when 'loading' is called isn't accurately reflecting the load-time of the elements and so I'm not even noticing the changes to the DOM before it continues on to display? 

If I pause in the script debugger it shows just fine, same with Firefox! But for Chrome I have to be paused to see it. Hmmmm maybe I'll try placing some 'delay' on the functions to try and get them to spin for a while -and try your loading show/hide idea.
Apr 20, 2011
#8 p.stud...@gmail.com
That could be possible, because I just made a new bug regarding the loading and view changes. They don't seems to compliment each other very well. Could be some core issue in calendar.
I don't use mask so I am not really sure what could be wrong.
Apr 20, 2011
#9 jordan.b...@gmail.com
I was able to figure this one out, the mask was correctly being added to the page it was my 'timing' that was off! The mask wasn't being shown for long enough. See here: http://stackoverflow.com/questions/5734471/applying-loadmask-to-fullcalendar-has-strange-results
May 8, 2011
Project Member #10 adamrs...@gmail.com
(No comment was entered for this change.)
Status: Done