解开不工作

时间:2011-04-30 10:17:08

标签: jquery hover unbind

知道我做错了吗?

我试图让“悬停”不适用于text3。

$(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 个答案:

答案 0 :(得分:1)

.hover()实际上是一种快捷方式,因此要取消绑定,您需要unbind它创建的事件处理程序,您需要指定这些事件,{{ 3}}和mouseenter,像这样:

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

作为一个侧面提示,mouseleave需要一个函数,所以代替这个:

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

你可以这样做:

$(document).ready(runIt);

或快捷方式格式,传递处理程序.ready()

$(runIt);

以上所有内容都具有相同的效果。