如何创建一个if()鼠标在Jquery中的元素上?

时间:2010-03-17 17:24:41

标签: jquery mouseover

我有一些悬停()JS代码:

$( '.leftMenuProductWrapper').hover (
            function () {



            },
            function () {


    });

在第二个函数中,我需要类似的东西:

If ($("#leftMenuWrapper2").hasMouseover){
do this
}else{
do that};

我找不到任何关于如何操作的文档。

修改

这似乎是一个解决方案:

$('#leftMenuWrapper2').mouseenter(function(){
    mouseover = true;
}).mouseleave(function(){
    mouseover = false;
});

然后在代码中引用它:

if(mouseover == false){
                doSomething
                };

2 个答案:

答案 0 :(得分:12)

在非常高的层次上,您想要的是:

  • 保持布尔值。
  • 当鼠标触发MouseOver事件时,将Boolean设置为true。
  • 当鼠标触发MouseOut事件时,将布尔值设置为false。

您所要做的就是返回布尔值以获取hasMouseOver值。

答案 1 :(得分:0)

我不完全确定你在做什么,但看起来你是从错误的角度攻击它。

我假设你在.leftMenuProductWrapper内有多个元素,其中一个是#leftMenuWrapper2 ...我假设你关心的元素是<div> s(但你可以编辑代码以适应它们是否合适。尝试这样的事情:

$('.leftMenuProductWrapper>div').hover(function(ev) {
    if ($(this).id == 'leftMenuWrapper2') {
        // do something with this one
    } else {
        // otherwise, do something else
    }
});