jquery mouseenter - mouseleave无法正常工作

时间:2012-08-21 19:57:18

标签: javascript jquery session

我想更改不同表td中的图像。我想用javascript更改它,因为我正在使用4种不同语言的PHP Session变量。这意味着,我将为一个表格单元格提供8个不同的图像(1个语言的2个图像,普通图像和悬停图像)。

我有以下代码:

var jsGlobalLang = "<?php echo $_SESSION['lang'];?>";

$(".menu-item").mouseenter(function(){

    var item_id = "";

    switch(this.id)
    {
        case 'home' : { item_id = "acasa";break; }
        case 'proiectaredecasa' : { item_id = "proiectare";break; }
        case 'caseconstruite' : { item_id = "case_construite";break; }
        case 'avantaje' : { item_id = "avantaje";break; }
        case 'oferte' : { item_id = "oferte";break; }
    }

    $(this).html("<img src='images/lang/"+ jsGlobalLang +"_" + item_id + "_hover.gif' alt='' />");
});

它正常工作,但是当我移出鼠标时,该功能不起作用。我试着打电话给警报();用于检查警报框是否弹出,但不是。

$(".menu-item").mouseout(function(){
   alert('TEST !');
});

3 个答案:

答案 0 :(得分:1)

我认为您需要在这种情况下使用mouseleave而不是mouseout

$(".menu-item").mouseleave(function(){
   alert('TEST !');
});

或使用mouseover代替mouseenter

答案 1 :(得分:1)

您使用的是哪个版本的jQuery?我使用最新版本,似乎mouseout / mouseleave存在一些问题

http://bugs.jquery.com/ticket/12366

让我们等到他们解决这个问题?

答案 2 :(得分:0)

我想如果你替换td的html

 $(this).html("<img src='images/lang/"+ jsGlobalLang +"_" + item_id + "_hover.gif' alt='' />");

$(".menu-item")没有鼠标输出,因为没有class = .menu-item的元素

我没有对此进行测试,但情况可能就是这样

相关问题