Tyron Madlener a écrit :
On Sun, Jun 19, 2011 at 3:05 PM, Aris Feryanto aris_feryanto@yahoo.com wrote:
----- Original Message -----
From: Tyron Madlener tyronx@gmail.com
On Sat, Jun 18, 2011 at 6:14 PM, Aris Feryanto aris_feryanto@yahoo.com wrote:
Hi,
Just noticed in current master, if we have cfg_BrowsePointerEnable=true (it
is default to true) and browse a table, the row is not highlighted completely when we hover a row.
From the git bisect, I found it happen first time after:
commit f771e68a73dfca6199030c1598b23e92de50f64c : - Fix for: If the moseout event on the row highlighting fails to get
called (e.g. when having html code in the row), the toggle class will wrongly assign the hover class next time the element is being hovered over
- Better formatted PMA_createChart()
I'm to blame for that bug. I've changed the hover behavior because my table rows in the server variables table stayed highlighted sometimes when the user hovers over them vertically while having the moue near the edit link. That this change works for some tables (such as table structure) but not for table browsing is surprising.
Hi Tyron,
I think it works for other tables because there are .odd:hover and .even:hover in the CSS code.
No actually the browse table is broken because the data columns (<td>) have the class odd/even for some reason, and hence overwriting the tr.hover background-image with the .odd./even background-color.
This is really odd. The CSS hover would actually completely suffice. When I comment out the discussed js hover function (function.js line 659 - 665) and remove the odd/even class for data columns in the table display (removing $alternating_color_class in display_tbl.lib.php line 1363) all works fine in all the tables.
Is there any reason why the columns (<td>) have the odd/even class? If not, I will change this in my branch.
I haven't checked but the reason might be browsing in vertical mode.
The reason for the bug it is that on table browsing the event.type var is 'mousenter' not 'mouseover' altough the jQuery docs for .live() say mouseenter is mapped to mouseover. Or am I understanding it wrong?
Don't know for sure, but when I checked with chrome developer tools, the .live('hover'), event.type is always 'mouseenter' or 'mouseleave'.
"As of jQuery 1.4.1 the hover event can be specified (mapping to mouseenter and mouseleave, which, in turn, are mapped to mouseover and mouseout)." - http://api.jquery.com/live/