javascript - Jquery help me analyze what happened: mouseover/mouseout ok but not hover/unhover -
I am working on some code where I trigger the code on hover / unhover . Then I decided to trigger the same code on Focus / Blur . Generally with hover / unhuror , I can always type as no commas format. But this time when I was trying to add Focus / Blur then I had to use the bind and with the second part was to use this.bind Such as:
$ .fn.gogogo = function (msg) {$ (this) .bind ("focus hover", function () {$ ("# screen") .html (msg) ) .show ();}); $ (This) .bind ("blur unhover", function () {$ ("# screen") .html (""). Hide ();}); } The problem was that whatever I did, I did not take hover / nonover / . I had to return to mouseover / mouseout Code hover / unhover vs mouseover / mouseout
$ In addition to Fn.gogogo = function (code), the code is the same {$ (This) .bind ("mouseover focus", function () {$ ("# screen") .html (msg) .show ();}); $ (This) .bind ("mouseout blurred", function () {$ ("# screen") .html (""). Hide ();}); } I thought that the hover / unvover only mouseover / mountout was uniquely. How behaviors differ: Hover / NonHower breaks my code, while mouseover / mouseout is okay?
Thank you.
hover .
Hover method is a feature method that combines event handlers into mousecenter and mouseover events.
If you open the source of jQuery, you will see that the hover method is defined as such:
hover: function (fnOver, FnOut) {Return to this Musicor (Funovers). Mouseleave (fnOut); }, You should bind the mousecenter and mouseleave instead of the event.
Edit : The difference between mousecenter and mouseover is that the mousecenter (And mouseleave ) is not bubble. This means that if you bring the mouse to any element, you will get a mouseover event (which is probably not what it is You want), while you only see Mousecenter event if the mouse has entered the element itself, for example, see
Comments
Post a Comment