我正在实现一个“自动建议功能”。这意味着:
以下是代码示例,您可以在此处查看fiddle: http://jsfiddle.net/km8c0ft1/
- 输入元素获得焦点 -> 显示建议
- 输入元素失去焦点 -> 隐藏建议
以下是代码示例,您可以在此处查看fiddle: http://jsfiddle.net/km8c0ft1/
$('#test').blur(function() {
$('#dropdown').css("display", "none");
});
$('#test').focus(function() {
$('#dropdown').css("display", "inline");
});
html:
<input id="test" />
<input />
<input />
<ul id="dropdown" style="display: none">
<li><a onclick="alert('option 1 selected')">option 1</a></li>
<li><a onclick="alert('option 2 selected')">option 2</a></li>
<li><a onclick="alert('option 3 selected')">option 3</a></li>
</ul>
我理解问题所在,但是解决这个问题的最佳实践是什么呢?我可以使用 setTimeout
函数来等待几毫秒再隐藏菜单。但这感觉像是一个 hack,而不是一个清洁的解决方案。