Jquery on hover not functioning Jquery on hover not functioning jquery jquery

Jquery on hover not functioning


Deprecated as of jQuery 1.8: The name "hover" used as a shorthand for the string "mouseenter mouseleave". It attaches a single event handler for those two events, and the handler must examine event.type to determine whether the event is mouseenter or mouseleave. Do not confuse the "hover" pseudo-event-name with the .hover() method, which accepts one or two functions.

Source: http://api.jquery.com/on/#additional-notes

That pretty much says it all, you cant use "hover" for that:

$(document).on('mouseenter','.top-level', function (event) {    $( this ).find('.actionfcnt').show();    $( this ).find('.dropfcnt').show();}).on('mouseleave','.top-level',  function(){    $( this ).find('.dropfcnt').hide('blind', function(){        $('.actionfcnt').hide();    });});


there is no "hover" event.there is .hover() function that takes 2 callbacks (as in your example).


Try:

$(".top-level").on({    mouseenter: function (event) {        $( this ).find('.actionfcnt').show();        $( this ).find('.dropfcnt').show();    },    mouseleave: function (event) {        $( this ).find('.dropfcnt').hide('blind', function(){            $('.actionfcnt').hide();        });    }});

OR

$(".top_level").on("hover", function(event) {  if(event.type == "mouseenter") {    $( this ).find('.actionfcnt').show();    $( this ).find('.dropfcnt').show();  }  else if (event.type == "mouseleave") {    $( this ).find('.dropfcnt').hide('blind', function(){        $('.actionfcnt').hide();    });  }});