2014-11-17 60 views
0

我試圖做一些懸停和關閉.mail img懸停。懸停事件正在發生,其中的代碼正在執行,但懸停事件不是。關閉懸停功能不能解僱

爲了簡化它,我用警報替換了我的代碼,並且關閉懸停警報也未觸發。

$('.mail img').hover(function(){ 
    alert('on hover'); 
}, 
function(){ 
    alert('off hover'); 
}); 

我使用jQuery 1.9.1

回答

5

此行爲是因爲你使用alert來測試。用於懸停的事件是mouseleave。當從mouseenter顯示alert時,這不會觸發。

更改代碼,使用console.log(你應該調試時),它會工作:

$('.mail img').hover(function(){ 
    console.log('on hover'); 
}, function(){ 
    console.log('off hover'); 
}); 

Example fiddle

+0

我知道使用警報是不好的做法。我只用了大約10%的時間。但是關閉懸停事件仍然不會與console.log()一起觸發。我的代碼實際上並沒有改變。 – wordSmith

+0

您是否檢查了控制檯的錯誤?你可以從小提琴中看到,你提供的代碼應該工作正常。 –

+0

不知道爲什麼關閉懸停,mouseleave,也沒有mouseout射擊。沒有錯誤。代碼全部有效。感謝教育,不知道警惕會懸停懸停事件。 – wordSmith

0

您可以使用mouseout()檢查光標離開elemnt

$('.mail img').mouseout(function(){ 
    alert('off hover'); 
}); 
0

使用此項:

$('.mail img').mouseover(function(){ 
    alert('on hover'); 

}).mouseout(function(){ 
    alert('off hover'); 

});