尝试从另一个函数覆盖handlerOut(mouseleave)效果:
$( '.main-nav .menu-item' ).hover(
function() {
$( '> .sub-menu' , this )
.stop( true, true )
.fadeIn( { duration: 250 } );
}, function() {
$( '> .sub-menu' , this )
.stop( true, true )
.fadeOut( { duration: 250 } );
} );
我不希望元素淡出但不确定如何覆盖它。是否可以使用其他功能停止悬停效果?
答案 0 :(得分:2)
您可以使用.off
删除事件处理程序,然后添加自己的事件处理程序。您必须确保您的脚本在之后运行其他脚本。
$('.main-nav .menu-item')
.off('mouseenter mouseleave')
.hover( /* your own hover functions */ );
如果您不想更改过度效果,请单击或仅使用mouseleave事件:
$('.main-nav .menu-item')
.off('mouseleave')
.mouseleave( /* your own hiding function */ );
答案 1 :(得分:1)
只需拨打.off('mouseleave')
即可停用mouseleave事件,此外,如果您还想进行其他工作,请使用.mouseleave
$('.main-nav .menu-item').off('mouseleave').mouseleave( function () {
console.log('now it will not fadeout on mousle leave');
});