如何在WordPress中覆盖JS函数

时间:2016-03-13 09:00:53

标签: javascript wordpress

尝试从另一个函数覆盖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 } );
            } );

我不希望元素淡出但不确定如何覆盖它。是否可以使用其他功能停止悬停效果?

2 个答案:

答案 0 :(得分:2)

您可以使用.off删除事件处理程序,然后添加自己的事件处理程序。您必须确保您的脚本在之后运行其他脚本。

  

注意:.off适用于jQuery 1.7或更高版本,如果您使用的是旧版本,请参阅.unbind

$('.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');
});