2013-10-19 51 views
0

我使用下面的代碼,.click動作自行工作正常,只要我添加.hover,然後.hover作品和.click停止工作。任何想法爲什麼發生這種情況,以及如何解決它?jQuery .click在使用.hover時不起作用,我該如何解決這個問題?

$('#11').click(function(){ 
    $('#widget').load('../212/?id=11'); 
    $(this).attr("src", "<?php bloginfo('stylesheet_directory'); ?>/images/category-fantasy-32-disable.png"); 
}); 
$('#11').hover(
function() { 
    //hover event 
    $(this).attr("src", "<?php bloginfo('stylesheet_directory'); ?>/images/category-fantasy-32-disable.png"); 
}, 
function() { 
    //hover out event 
    $(this).attr("src", "<?php bloginfo('stylesheet_directory'); ?>/images/category-fantasy-32.png"); 
}); 
+1

它可能是因爲當你點擊鼠標並將鼠標移出鼠標事件將會觸發導致src被改變 –

+0

@ArunPJohny哦,我的上帝,你是一個天才! – Shaba7elail

回答

1

解決方法是綁定點擊並懸停兩者。這裏是一個示例代碼

$('p').on('click hover', function() { 
    alert("Clicked"); 
}); 

$('p').hover(
    function(){ 
     console.log("X"); 
    }, 
    function(){ 
     console.log("Y"); 
    } 
); 

這將觸發懸停和懸停方法。如果你點擊它也可以。 工作鏈接:http://jsfiddle.net/43BW4/

+0

有趣的是,我不想劫持這篇文章,但我正準備發佈幾乎完全相同的問題。你可以像你說的那樣擺弄工作,但是當使用addClass而不是僅僅記錄到控制檯時,我仍然無法使它工作。我已經分叉你的小提琴並修改它。我試圖做的是讓段落變爲綠色,當盤旋時返回黑色,但點擊時保持綠色。我究竟做錯了什麼? http://jsfiddle.net/dfjosh/LxwHz/ – wetjosh

+0

這是因爲只要你將鼠標懸停在外,這個類就會被刪除,而不管你是否點擊了。嘗試添加一個標誌,當元素被點擊。 –

+0

@wetjosh This [answer](http://stackoverflow.com/questions/18600845/handle-jquery-hover-behavior)爲我工作 – Shaba7elail

相關問題