【发布时间】:2011-04-13 17:44:27
【问题描述】:
我正在使用 jquery ui 自动完成功能,并希望在键盘交互和鼠标交互触发的焦点事件之间破译。我该怎么办?
$('input').autocomplete({
source: function(request, response) {
...
},
focus: function(event, ui) {
// If focus triggered by keyboard interaction
alert('do something');
// If focus event triggered by mouse interaction
alert('do something else');
}
});
谢谢
【问题讨论】:
-
嗯,我知道用鼠标聚焦的唯一方法是
click事件,但是如何识别键盘焦点 - 好问题。我假设检查按下了什么键(仅 TAB?)是正确的想法,但我不太确定。也许检查click是否在focus()上被解雇?不知道该怎么做,但也许这会帮助那些想尝试一下的人。 -
我试图分离的两件事实际上是使用箭头键向下/向上移动自动完成列表,并用鼠标悬停在自动完成列表项上。 UI 自动完成通过选择项目并关闭自动完成来处理鼠标点击 - 分别采用选择参数。
标签: javascript jquery jquery-ui jquery-ui-autocomplete