2017-07-26 62 views
0

Here之間是問題的答案,感謝@ CumminUp07焦點切換兩個div和網頁

我發現這個link是有幫助的,但我不希望建議股利後消失在建議div中選擇元素以便稍後選擇更多建議。我試圖用slideUp()和slideDown()jquery函數來實現這個策略,但當然這並不像show()和hide()jquery函數那麼快,並且試圖加速滑動函數最終會停止建議div再次出現。 這裏是一個plunker什麼我目前停留在:

$('#search').focus(function() { 
 
    $('#suggestions').slideDown(); 
 
}); 
 

 
$('#search').blur(function() { 
 
    $('#suggestions').slideUp(); 
 
}); 
 

 
$('#suggestions div').click(function() { 
 
    $('#search').val($(this).html()); 
 
    $('#suggestions').slideDown(); 
 
    $('#search').focus(); 
 
});
#search, 
 
#suggestions { 
 
    width: 200px; 
 
} 
 

 
#suggestions { 
 
    display: none; 
 
    border: 1px solid gray; 
 
    border-top: none; 
 
} 
 

 
#suggestions div:hover { 
 
    background-color: #99CCFF; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="search" value="" /> 
 
<br /> 
 
<div id="suggestions"> 
 
    <div>Toronto</div> 
 
    <div>Seattle</div> 
 
    <div>Dallas</div> 
 
</div>

我不相信這是一個重複到Action on blur except when specific element clicked with jQuery,因爲超時沒有爲我想要的功能,工作不夠好,也不允許你確保我可以點擊兩個不同的div,同時保持這兩個div中的一個不被打開,直到文檔中的不同對象被選中。

+0

如果我的理解是正確的,你在找什麼有幾個答案在這裏:[除了特定時,對模糊的操作ic元素點擊與jQuery](https://stackoverflow.com/questions/4901899/action-on-blur-except-when-specific-element-clicked-with-jquery) – Santi

+1

那麼,這是什麼問題?想讓這個更快? – MJK

+1

是的,如果可能的話,我想盡快讓div出現。我正在嘗試第一條評論中的鏈接。 –

回答

3

您可以從完成停止動畫,然後只顯示建議

$('#search').focus(function() { 
    $('#suggestions').slideDown(); 
}); 

$('#search').blur(function() { 
     $('#suggestions').slideUp(); 
}); 

$('#suggestions div').click(function() { 
    $('#suggestions').stop(true,true).show(); 
    $('#search').focus(); 
    $('#search').val($(this).html()); 

}); 
+1

@Santi你是對的,我只是修復了答案 – CumminUp07

-1

也許它會幫助你

$('#search').focus(function() { 
    $('#suggestions').slideDown(); 
}); 

$('#search').blur(function() { 
    $('#suggestions').slideUp(); 
}); 

$('#suggestions div').click(function() { 
    $('#search').val($(this).html()); 
    $('#search').blur(); 
}); 
+0

答案應該是內容豐富的,並提供至少一個簡單的解釋。考慮指出你改變了什麼或解釋你正在嘗試做什麼。否則,你的答案就是一場不同尋常的遊戲。 – Santi