2013-05-16 140 views
1

问题是我只获得span元素,当我点击li而不是当我把鼠标悬停在li上!jquery鼠标悬停不起作用

我有类似:

 <ul class="nav nav-pills nav-stacked"> 
     @foreach (var category in Model.Categories) 
    { 
     <li class="categoryListEl"><a>@category.Name <span  style="float:right;display:none"class="badge badge-important"> 
<button class="close">&times;</button></span></a></li> 
    } 
     </ul> 

我jQuery代码是:

$(function() 
    { 
    $(".categoryListEl").mouseover(function() { 
      $this = $(this); 
      $this.find("span").css("display", "block"); 
    }); 
    $(".categoryListEl").mouseleave(function() 
    { 
     $this = $(this); 
     $this.find("span").hide(); 

    });; 
); 
+1

'时,我对李单击不是当我将鼠标悬停在李'...点击???你的点击功能在哪里? – bipen

+0

如果你在http://jsfiddle.net/中为人们提供工作版本,可能会很有用,好吧,拨打 – Patrick

+0

@bipen无处不在,这就是为什么它是奇怪的行为。只有当我点击li时,才会显示span。预计当我将鼠标悬停在李的上方时会显示。 –

回答

6
$(function() 
     { 
     $(".categoryListEl").mouseenter(function() { 
       $this = $(this); 
       $this.find("span").css("display", "block"); 
     }).mouseleave(function() 
     { 
      $this = $(this); 
      $this.find("span").hide(); 

     }); 
}); 
1

有没有在你的代码中的一些语法错误。你可以试试这个代码,它始终工作:

$(function() { 
    $(".categoryListEl").hover(function() { 
     $(this).find("span").toggle(); 
    }); 
}); 

FIDDLE DEMO

+0

事实上,我现在看到的问题是。仅当F12开发人员控制台关闭时,代码才有效。我打开了它。 –

+1

很酷。最后你得到了解决方案! –