2013-01-07 108 views
1

我有一個搜索,焦點越來越大,模糊變得越來越小。我的問題是,即使你點擊建議的區域,它會導致動畫運行。有沒有辦法做到這一點,如果你在建議區域單擊此代碼不執行。Jquery On Blur有時候

$('.search').blur(function(e) { 
    if (!clickedInSuggest) { 
     $(this).animate({ width : '50px' }, 150); 
    } 
}); 

HTML:

<li class="search"> 
    <form class="searchContainer" action="<?php echo Uri::create('search') ?>" method="get"> 
     <input autocomplete="off" name="name" placeholder="Search" tabindex="1" type="text" value="" /> 
     <button type="submit" class="submit"></button> 
    </form> 
    <div class="suggestions"> 
     <ul> 
      <li></li> 
     </ul> 
    </div> 
</li> 
+1

你可以發佈這個HTML嗎? – Evan

+0

建議區域是什麼?請發佈相關的HTML標記 –

+0

是的我添加了html – cKendrick

回答

1

...等等...我只是在不同的情況下解決了這個問題,現在我還記得:

$(function(){ 

    var flag=true; 

    $('.suggestions').mousedown(function(){ 
     flag=false; 
    }) 
    $('.suggestions').mouseup(function(){ 
     flag=true; 
    }) 

    $('.search').blur(function(e){ 
     if(flag==false){ 
      e.preventDefault(); 
     } 
     $('....').animate({...})..etc 

    }) 
}) 

爲什麼這個作品是因爲mousedown事件在blur事件之前觸發,blur事件在click事件之前觸發。

祝你好運。