2013-03-11 227 views
8

經與.hover()jQuery的 - 懸停不工作

我抓住一些dribbble的鏡頭,這是拉在頁面加載有點麻煩。由於某種原因,通過懸停添加課程並不希望在其上工作。

雖然它與標準列表完美配合。

jsFiddle here

JS:

$("#dribbble li").hover(

function() { 
    $(this).addClass("hover"); 
}, 

function() { 
    $(this).removeClass("hover"); 
}); 

HTML

<div id="dribbble"> 
<ul> 
    <li></li> 
    <li></li> 
    <li></li> 
</ul> 

+2

你期望看到什麼?你的CSS在哪裏? – 2013-03-11 19:29:58

+0

你的懸停事件工作得很好。由於jribbble插件,它不可見。也許是因爲他們使用某種e.stopPropagation()代碼 – sdespont 2013-03-11 19:45:51

回答

13

使用代表團 - 我猜你的元素不得到的約束,因爲這是他們不是在DOM可在結合

$("#dribbble").on({ 
    mouseenter: function() { 
     $(this).addClass("hover"); 
    }, 
    mouseleave:function() { 
     $(this).removeClass("hover"); 
    } 
},'li'); 

的時候,你還必須更具體與你的CSS,如果你想讓它優先於其他風格

#dribbble li.hover { 
    background-color:aqua; 
} 

FIDDLE

6

您需要將事件處理程序附加到已經存在的元素。當你創建li元素時,你必須綁定到父元素,然後過濾到你需要的元素(當正確完成時,這實際上是可取的)。

嘗試:

$("#dribbble").on('mouseenter','li',function() { 
    $(this).addClass("hover"); 
}); 

$("#dribbble").on('mouseleave','li',function() { 
    $(this).removeClass("hover"); 
});