How do I check if the mouse is over an element in jQuery?

前端 未结 24 2644
不思量自难忘°
不思量自难忘° 2020-11-22 08:10

Is there a quick & easy way to do this in jQuery that I\'m missing?

I don\'t want to use the mouseover event because I\'m already using it for something else. I

24条回答
  •  不知归路
    2020-11-22 09:07

    This code illustrates what happytime harry and I are trying to say. When the mouse enters, a tooltip comes out, when the mouse leaves it sets a delay for it to disappear. If the mouse enters the same element before the delay is triggered, then we destroy the trigger before it goes off using the data we stored before.

    $("someelement").mouseenter(function(){
        clearTimeout($(this).data('timeoutId'));
        $(this).find(".tooltip").fadeIn("slow");
    }).mouseleave(function(){
        var someElement = $(this),
            timeoutId = setTimeout(function(){
                someElement.find(".tooltip").fadeOut("slow");
            }, 650);
        //set the timeoutId, allowing us to clear this trigger if the mouse comes back over
        someElement.data('timeoutId', timeoutId); 
    });
    

提交回复
热议问题