我遇到了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会模糊输入。
除非点击按钮,否则有什么方法可以做到它应该做的事情?或者有更好的方法来做我一直在做的事情吗?我已经尝试将点击更改为mousedowns(这不起作用,因为模糊和mousedown同时起作用)和mouseups(与默认点击相同)但它没有帮助。
答案 0 :(得分:0)
.mouseout()或.mouseleave()函数会有所帮助。