2011-04-30 78 views
0

任何想法,我做錯了什麼?解除綁定不工作

我試圖獲得「懸停」不適用於文字3。

$(document).ready(function() { 

runIt(); 

}); 

function runIt(){ 
$('#myText').hover(function(){ 
     $(this).clearQueue().html('Start Again'); 

}) 
.click(function(){ 
    runIt(); 
}) 
.html('text 1') 
.fadeIn(1000) 
.delay(1000) 
.fadeOut(1000,function(){ 
    $(this).html('text 2'); 
}) 
.fadeIn(1000) 
.delay(1000) 
.fadeOut(1000,function(){ 
    $(this).html('text 3').unbind('hover'); 
}) 
.fadeIn(1000); 

};

回答

1

.hover()實際上是一條捷徑,所以解除綁定,您需要unbind它創建的事件處理程序,你需要指定那些事件,mouseentermouseleave,像這樣:

$(this).html('text 3').unbind('mouseenter mouseleave'); 

作爲一個側面提示,.ready()需要一個功能,所以不是這樣的:

$(document).ready(function() { 
    runIt(); 
}); 

你可以這樣做:

$(document).ready(runIt); 

或快捷鍵格式,傳遞處理器directly to the jQuery constructor

$(runIt); 

上述所有這些都將有同樣的效果在這裏。

+0

大,感謝尼克! – Sarah 2011-04-30 12:51:49