0

知道我做错了什么吗?

我试图让“悬停”不适用于 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);

};

4

1 回答 1

1

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

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

作为一个侧面提示,.ready()需要一个函数,所以而不是这个:

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

你可以这样做:

$(document).ready(runIt);

或者快捷方式,将处理程序直接传递给 jQuery 构造函数

$(runIt);

以上所有内容在这里都会产生相同的效果。

于 2011-04-30T11:16:57.087 回答