2013-12-18 115 views
0

我有一個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"); 
      }; 
     }); 

整件事情正常。它會打開,當我模糊輸入框時它會關閉。如果我點擊搜索按鈕,它會按預期打開和關閉。問題是當我在搜索欄打開時單擊並釋放搜索按鈕時。 Mousedown模糊了輸入,而mouseup正在觸發點擊。

有沒有辦法讓模糊會做它應該做的,除非點擊按鈕?還是有更好的方式去做我一直在做的事情?我嘗試將點擊更改爲mousedowns(這不起作用,因爲模糊和mousedown同時行爲)和mouseup(與默認點擊相同),但它沒有幫助。

回答

0

.mouseout()或.mouseleave()函數將有所幫助。

+0

我不知道我明白你在推斷什麼。所有觸發點擊和模糊,而不是鼠標位置(沒有懸停動作)。 –

+0

我試過把模糊功能放在mouseout裏面的按鈕,但仍然沒有運氣:( –