2013-08-05 56 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()