Jquery:如果mouseleave = true则执行此操作

时间:2011-01-28 16:49:19

标签: jquery hover mouseover mouseleave

简单的问题,如何在Jquery中完成此功能: 测试鼠标是否悬停在.myBox

    if ($(".myBox").mouseleave = true) {
        DO SOMETHING
    } else {something else}

OR

    if ($(".myBox").mouseover = false) {
        DO SOMETHING
    } else {Something else}

注意:我正在寻找IF声明

8 个答案:

答案 0 :(得分:10)

jQuery提供is方法来检查与jQuery对象有关的条件。在您的情况下,您可以检查:hover CSS伪类:

$('.myBox').is(':hover') === true

看一下这个演示,尝试点击按钮(会发出警告true),然后点击按钮并按下按钮(没有鼠标,它将返回false)。< / p>

DEMO: http://jsfiddle.net/marcuswhybrow/LL5JD/

答案 1 :(得分:4)

查看jQuery Mouse Over

$(".my_box").mouseover(function(){
    // Mouse over...
});

$(".my_box").mouseout(function(){
    // Mouse left...
});

以下是一个示例,将鼠标悬停在图片上时为其添加边框,如果未重新悬停图片,请在x时间后将其删除:See it working here

var hover_off = false;
var hover_count = 1000;

$(".my_box").mouseover(function() {
    hover_off = false;
    $(this).addClass('hovering');
});

$(".my_box").mouseout(function() {
    hover_off = true;
    setTimeout(myMouseOut, hover_count);
});

function myMouseOut() {
    if (hover_off) {
        $(".my_box").removeClass('hovering');
    }
}

答案 2 :(得分:2)

没错,$('。myBox')。is(':hover')与jQuery 1.5.1一起使用会引发错误,但在我的测试中仅在Opera Browser(11.01)中: 未捕获的异常:语法错误,无法识别的表达式:悬停

解决方法是使用否定表达式:$('。myBox')。is('not(:hover)') 我在Opera 11,FF4,IE7,Chrome 5中测试时工作正常。

答案 3 :(得分:1)

使用.hover()http://api.jquery.com/hover/

答案 4 :(得分:1)

$(".myBox").hover(
           function(){
               //DO SOMETHING ON MOUSE ENTER
           },
           function(){
               //DO SOMETHING ON MOUSE LEAVE
           }
 });

答案 5 :(得分:1)

这对我有用:

var hover = false;
$('.someClass').each(function(i,e){
    hover = !hover ? $(e).is(':hover') : true;
});

if (hover)
    // do something
else
    // do something else

答案 6 :(得分:0)

使用此:http://plugins.jquery.com/project/enterleave-events

$('.myBox').bind('enter leave',function() {
  // do something, use $(this) to get the object
});

答案 7 :(得分:0)

mouseentermouseleave事件采取行动。

或者使用可以处理它们的hover ..

$('.myBox').hover(
   function(e){
     //do the mouseenter things here...
   },
   function(e){
     //do the mouseleave things here...
   }
);

http://www.jsfiddle.net/gaby/ECYD4/

的示例