Hi guys,

            I've found a very strange behaviour using jQuery clueTip
that eventually causes IE to die. The scenario is the following: the
main app screen contains a grid (a very heavy client-side grid
component, btw) with rows, and each row contains a magnifier icon that
opens a preview using clueTip. I'm using jQuery 1.2.3, jQuery
Dimensions 1.1.2, and clueTip 0.9.6. The clueTip is configured as
sticky and mouseOutClose.

Everything works fine, until you do the following:

 1. Hover over the icon to show the clueTip
 2. Move the mouse inside the clueTip, and *click* anywhere in it.
 3. Now move the mouse out and the clueTip disappears.
 4. At this point, click anything else or trying to do anything in the
browser will make it die. It takes 100 CPU and never recovers.

This happens on Internet Explorer 6 and 7. I've debugged it (ASM code,
not very funny stuff) and realized that IE was actually dead-locked
waiting for something to be released. (I suspect it was a DOM object).

After some experimentation, I found out that the problematic line was
the ".empty()" call in the cluetipClose function, so I replaced the
following code:

$cluetipOuter
.parent().hide().removeClass().end()
.children().empty();

with this:

$cluetipOuter.parent().hide().removeClass();

And now everything works!!

Did anyone have a similar problem before? Should this *fix* be
included in the project's source? Anyway, I don't see the point of
calling .empty on the children, I guess it's to clean up, just in case
the next call fails somehow, but afaik the content will be replaced
anyway, so there shouldn't be a need for it....

Greets,
Gonzalo

Reply via email to