2010-07-22 35 views
0

對不起,我再次問這個,但我不能找到一個解決方案。我知道那裏有幾個帖子,但對我來說似乎沒有任何工作。我使用jquery load()方法加載網站的一部分。我會將以下規則應用於其中的所有鏈接:jQuery的AJAY住懸停事件?

$('.file a').live('click', function(e) { 
    alert('click event firde'); 
}); 

此單擊事件工作得很好。然而 我想有這些鏈接懸停事件以及:

$('.file a').live('mouseover mouseout', function(event) { 
    if (event.type == 'mouseover') { 
    alert('why doesn't the hover event fire????'); 
} else { 
    // do something on mouseout 
    } 
}); 

我不知道爲什麼我的懸停事件不會火?我只能將一個事件處理程序應用於特定的選擇器嗎?

有什麼想法?

回答

0

要單獨綁定的事件,就像這樣:

$('.file a').live('mouseenter', function() { 
    //hover code 
}).live('mouseleave', function() { 
    //stopped hovering code 
}); 

我們使用mouseentermouseleave因爲這些是.hover()結合的事件。

0

根據jQuery文檔「」作爲jQuery 1.4.1 .live()可以接受多個空間分隔的事件...「。所以只要你至少使用1.4.1版,你應該沒問題。我發現的唯一問題是這一行:

alert('why doesn't the hover event fire????'); 

這應該是

alert("why doesn't the hover event fire????"); 

你在用單引號約束一個字符串文字有一個單引號。這將導致聲明和任何失敗之後。

諷刺的是,堆棧溢出的代碼顏色就行了失敗也是如此。 :)

+0

謝謝你,只是一個例子! – matt 2010-07-22 23:18:21

+0

啊,這可以解釋它:) – 2010-07-22 23:25:23

0

你確定你使用的是至少的jQuery 1.4.1?任何更低的代碼將無法工作。