隐藏ul之前李的点击事件
Fire click event of li before hiding ul
我有一个文本框,然后是一个无序列表,如下所示:
<div>
<input type="text" />
<button>Go</button>
</div>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
现在在文本框的模糊事件中:
$('input').on('blur', function() {
$('ul').hide();
});
上面的代码运行得很好。
我正在尝试制作类似combobox
的东西。
所以,我想要的行为是:
因此,对于第二个功能,当我单击任何li
时,li
的click
事件应该激发,然后ul
应该隐藏。
var items = ["Apple", "Banana", "Celery", "Peach", "Plum"];
$('input').on('input', function() {
var text = $(this).val();
$('ul').show().empty().append(items.filter(function(item) {
return item.match(new RegExp(text, 'i'));
}).map(function(text) {
return $('<li>').text(text);
}));
});
$('input').on('blur', function() {
$('ul').fadeOut();
});
$('ul').on('click', 'li', function() {
$('input[type=text]').val($(this).text());
$('ul').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<input type="text" />
<button>Go</button>
</div>
<ul>
</ul>
只需更新文本框,然后将ul隐藏在li的同一点击事件中。
$("li").on("click", function() {
$("input[type=text]").val(this.text());
$("ul").hide();
});
如果jQuery不完美,很抱歉——我不经常使用它。无论如何,这应该会有所帮助。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- jQuery复选框(在ul>li下)检查事件
- 如何在jQuery中获取UL的内容更改事件
- 按钮单击事件时动态 ul 中的文本框值
- 当展开点击 li 的 ul 事件时,JS JQUERY 错误不起作用
- 点击事件不't在尝试将元素动态添加到<ul>标签
- jQuery UL追加事件
- jQuery可以模拟onchange事件吗?一个选择框,但对于UL/OL
- 当通过单击事件切换另一个ul时,关闭所有打开的ul
- 用于onchange事件的ul监听器在IE中不起作用
- 使用jquery触发ul标签单击事件
- 当某些东西被添加到UL时是否会引发一个事件
- 将焦点样式事件应用于UL标记元素
- 如何使用jQuery添加ul元素自定义事件
- 动态ul-li更改后,事件停止工作
- 隐藏ul之前李的点击事件
- 单击淡出 UL 的锚标记上的事件
- jQuery的ul事件目标-我可以找到li,实际上是事件目标