我想一个jQuery自动完成元件,其允许用户挑选一个项目,并设置显示字段和隐藏字段与所选择的值。但我也想现场和隐藏字段为当输入字段用户接收焦点清除。
问题:
我现在面临的问题是,当用户选择它几乎像jQuery正在执行ONSELECT功能,然后发送焦点到输入字段这再次激发我的重点项目( )事件(并因此清除我的选择)。
问题的浏览器:
IE8,作品在Chrome中。没有尝试别人。
尝试的修复:
- 我试图将焦点设置到另一个元件在
select()
功能。它确实把重点放在那个元素上,但是只有在 专注于输入字段 - 在 select()方法中尝试了
event.preventDefault()
和event.stopPropagation()
。不工作。 - 模糊没有工作无论是。
解决方法:
我想我可以改变的空地上点击,而不是焦点,但是这不是我想要的。
类似计算器线程:
jquery autocomplete remove focus after suggest
代码: 这里是我的代码:
$(function() {
$("#autosuggest").autocomplete({
source: "my server path",
minLength: 3,
select: function (event, ui) {
if (ui.item) {
$("#autosuggest").val(ui.item.value);
$("#hidden").val(ui.item.id);
}
}
});
$("#autosuggest").focus(function() {
$("#hidden").val("");
this.value = "";
});
});
你见过这个http://stackoverflow.com/questions/2870077/jquery-autocomplete-select-firing-after-change?rq=1? – j08691
@ j08691感谢您的回复,我确定所提示的线程与我的问题相同,该帖子似乎涉及防止发生更改事件,而我希望将焦点传递给输入以外的任何内容字段在用户选择一个项目之后。 –