2013-05-16 87 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

很酷。最後你得到了解決方案! –