ColVis collection of buttons not hidden in IE8 (and partly problematic in IE9)

ColVis collection of buttons not hidden in IE8 (and partly problematic in IE9)

nicsoftnicsoft Posts: 37Questions: 0Answers: 0
edited June 2012 in DataTables 1.9
ColVis 1.0.7
DT 1.9.1

In IE8, the collection of buttons are not hidden when clicking the base button to hide. I have tried working with the z-index according to this post: http://datatables.net/forums/discussion/3681/bug-colvis-not-closing-in-internet-explorer/p1

No success.

I tried to debug Colvis.js but the only thing I noticed is that the _fnCollectionHide function is never called when trying to hide the buttons. So it seems like it could be a z-index problem, but still it works in other browsers. I.e., the function is triggered in other browsers.

_fnCollectionShow is triggered as expected in IE8 (or perhaps not as expected but for each click on the base button). Is this function doing anything that blocks the events for hiding the collection? I can't see anything in the code (but what do I know...)?

In IE9, it works when clicking anywhere but the collection or base button. If clicking multiple times on the base button, then I need to click multiple times somewhere else in order to hide the collection. I guess, since the _fnCollectionShow is always called, it stacks collections on top of each other for each click. Not like this for IE8 even though the _fnCollectionShow is called for each click.

The best solution would of course be to scrap IE8 from this planet, but I'm not in charge...

The example on this site works, so I guess I need help from anyone else having experienced this.

Replies

  • nicsoftnicsoft Posts: 37Questions: 0Answers: 0
    edited June 2012
    Ok, I have found a workaround for me. I only do this because I really couldn't find any other way for the hide function to be triggered correctly. I think it's ok as a workaround though. The intended behavior is still there in all browser except IE8 where you can hide the buttons only by clicking the base button, not anywhere outside.

    I added following code to the absolute beginning of "_fnCollectionShow" in ColVis.js:

    [code]if($(".ColVis_collection").is(":visible")){
    this._fnCollectionHide();
    return true;
    }[/code]

    Seriously, make sure to note this down in some kind of checklist you have to test every time you make a new release. When the ColVis plugin is updated, you must remember that you implemented this workaround. But, you will of course fix the actual problem and not use this workaround so it shouldn't be a problem :)
This discussion has been closed.