Jquery 模糊和点击冲突

Jquery 模糊和点击冲突,jquery,click,mouseevent,blur,removeclass,Jquery,Click,Mouseevent,Blur,Removeclass,我对jquery有一个点击问题。当我点击搜索按钮(#mini-panel-quick_menu.panel col last)时,一个搜索栏从屏幕顶部滑下(#block search form)。“open”类使边距为0。默认为-4.5em,css转换执行滑动 $('#mini-panel-quick_menu .panel-col-last.off').click(function() { $(this).removeClass('off');

我对jquery有一个点击问题。当我点击搜索按钮(#mini-panel-quick_menu.panel col last)时,一个搜索栏从屏幕顶部滑下(#block search form)。“open”类使边距为0。默认为-4.5em,css转换执行滑动

        $('#mini-panel-quick_menu .panel-col-last.off').click(function() {
            $(this).removeClass('off');
            $( '#block-search-form' ).addClass( "open" );
            $('#edit-search-block-form--2').focus();
            $(this).addClass('on');
        });
        $('#mini-panel-quick_menu .panel-col-last.on').click(function() {
            $(this).removeClass('on');
            $( '#block-search-form' ).removeClass( "open" );
            $('#edit-search-block-form--2').blur();
            $(this).addClass('off');
        });

        $('#edit-search-block-form--2').blur(function(){
            if ($('#mini-panel-quick_menu .panel-col-last').hasClass('on')){
                $('#mini-panel-quick_menu .panel-col-last').removeClass('on');
                $('#mini-panel-quick_menu .panel-col-last').addClass('off');
                $( '#block-search-form' ).removeClass( "open" );
            };
        });
整件事都很顺利。它将打开,当我模糊输入框时,它将关闭。如果我单击搜索按钮,它将按预期打开和关闭。问题是在搜索栏打开时单击并释放搜索按钮。mouseup触发单击时,Mousedown使输入模糊


有没有一种方法可以让blur做它应该做的事情,除了点击按钮?还是有更好的方法来做我一直在做的事情?我尝试过将单击更改为mousedowns(这不起作用,因为模糊和mousedown同时起作用)和mouseups(与默认单击相同),但没有任何帮助。

.mouseout()或.mouseleave()函数将有所帮助。

我不确定是否理解您的推断。所有的触发都是点击和模糊,而不是鼠标位置(没有悬停动作)。我曾尝试将模糊功能放在按钮的鼠标座内,但仍然没有成功:(