2017-06-05 11 views
2

ボタンの上にカーソルを置いたときにリストを表示するJQuery/JS関数があります。ただし、ボタンを移動すると、リストは表示されません。私はあなたがそれの上にカーソルを置いたときに表示を続けるためにリストを必要とし、あなたがホバーするか、リスト上のリンクをクリックすると閉じる。クリックしたりホバリングしない限り、リストを開いたままにする

どうすればこの問題を解決できますか? フィドル:https://jsfiddle.net/wj6pguf2/

JQ

$(document).ready(function(){ 
var recent = ["Appel", "Aardbei", "Aardappelen", "Banaan", "Bananen", "Banana", "Druif"] 
    $("#recent").hover(function() { 
     $("#recentcomplete").empty(); 
     document.getElementById("recentcomplete").style.display = "block"; 
     recent.forEach(function(item) { 
      $("#recentcomplete").append('<li><a href="#">' + item + '</a></li>'); 
     }); 
      }, function() { 
     document.getElementById("recentcomplete").style.display = "none"; 
    }); 
}); 

HTMLあなたのホバーコールにリストのIDを追加することができます

 <button type="submit" name="recent" id="recent" style="max-width:150px;">snelkiezer</button> 

     <ul id="recentcomplete" > 
     </ul> 

答えて

2

$("#recent, #recentcomplete").hover(function() { 

jsFiddle example は使用し、リンクをクリックすると、リストを閉じるには:

本当に素晴らしいと簡単です
$(document).on('click', '#recentcomplete a', function() { 
    $('#recentcomplete').hide() 
}) 
+0

、感謝を。リンクをクリックするとどのように閉じられますか? –

+0

リンクをクリックすると、このページの別のページまたは場所に移動するため、リンクを閉じると終了します。 '#'を変更した場合は、これが表示されます。あなたの例にある '#' URLを保持する必要がありますか? – j08691

+0

はい、選択したアイテムをデータベースに追加する機能になります。そのリンクはあなたを別のページに連れて行くことはありません。 –

関連する問題