2013-08-05 55 views
0

我試圖讓輸入字段顯示和隱藏通過CSS轉換。我有CSS和HTML部分計算出來。我希望輸入切換顯示/隱藏單擊div時。如果輸入失去焦點(模糊),我也想隱藏它。jQuery隱藏兩個事件的輸入 - 點擊和模糊?

除了再次點擊div時,我幾乎可以工作。點擊事件之前,模糊火災。所以,模糊事件會刪除類,但點擊事件會重新應用該類。我相信標準訂單模糊是第一位的。所以,它基本上按預期工作,而不是期望的。

工作狀態。

  1. 單擊div和輸入顯示應用焦點,以便用戶可以開始輸入。
  2. 點擊輸入外部,輸入隱藏移除焦點。

不起作用

  1. 單擊DIV第二次來隱藏輸入狀態。由於您在輸入外單擊,所以模糊事件觸發。並且,click事件重新應用該類。所以,它開始隱藏起來,但隨後顯示出來。

我相信有一種方法可以實現這一點。我的大腦目前正在發展。任何幫助表示讚賞。

$('.clickme').on({ 
     click: function() { 

      $('.wrapper').toggleClass("left"); 
      if ($(".wrapper").hasClass("reveal")) { 
       $('.large input').focus(); 
      } 

     } 

    }); 
    $('.large input').on({ blur: function() { 
      $('.wrapper').removeClass("reveal"); 

     } 

    }); 
+0

你會這麼好心添加小提琴?我想你可能需要考慮添加課程。你的代碼看起來過於複雜。 – ntgCleaner

回答

0

如果點擊之前模糊火災,可以防止事件與此鼓入您的模糊處理程序:

event.stopPropagation()