Update jquery.hoverdir.js

see jQuery documentation:
https://api.jquery.com/on/
where events are "One or more space-separated event types" and not comma separated.

Second thing: especially for Firefox, there's the need to clear the transition property before the new starting position is applied, otherwise the element will move to its new starting position executing the animation, being too slow to work correctly.
The new starting position applied with:
$hoverElem.hide().css( styleCSS.from );
must be applied immediately.