この特定の入力フィールドがアクティブな間は動的に生成されたリストを表示したいのですが、入力ボックスのリスト外をクリックすると非表示になります。あなたがスナップを実行すると、入力フィールドがフォーカスされているかクリックされているかにかかわらずリストが表示されます。フォーカスされていないときには隠しておきます。入力フィールドをクリックすると表示スタイルが切り替わります
これまでのところ、私はそれを実装しようとしているが、これはフォーカスとブラーのイベントをお試しください
$("#pickup input").click(function() {
var num = $(this).find("ul.suggestbox").length;
if (num > 0) {
$(".suggestbox ul").toggleClass("clickdisplay");
}
});
.suggestbox {
overflow: auto;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
padding: 1px 1px;
z-index: 1;
}
.clickdisplay {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<form>
<div class="input-field" style="width: 30%">
<label class="label-icon" for="search"><i class="material-icons">search</i>
</label>
<input id="pickup" placeholder="location" type="search" autocomplete="off" required>
</div>
<ul class="suggestbox" id="sub_navlist">
<li> option 1 </li>
<li> option 2 </li>
<li> option 3 </li>
<li> option 4 </li>
<li> option 5 </li>
<li> option 6 </li>
<li> option 7 </li>
</ul>
</form>
私はあなたにスニペットを作成しました。コードを修正し、suggesboxにいくつかのコンテンツを追加してください。 jQueryで "search"イベントハンドラを割り当て、実際の関数を追加します。私はwindow.searchが既存の関数であるため検索を呼び出さないことをお勧めします – mplungjan
この機能はこの質問に関連していないので編集しました – warl0ck
申し訳ありませんが、あなたが入力フィールドに集中していなくても表示されているスナップされたリストを実行するとモックリストは – warl0ck