jQuery .focusout / .click conflict 冲突的是 jQuery 的 .focusout 和 .click 方法。
- 论坛
- jQuery .focusout / .click conflict 冲突的是 jQuery 的 .focusout 和 .click 方法。
14 浏览
jQuery .focusout / .click conflict 冲突的是 jQuery 的 .focusout 和 .click 方法。
我正在一个带有自动完成搜索框的项目上工作。现在我遇到了一个问题,即我想将找到的自动完成结果的值传递给输入框,但同时,当输入框不再聚焦时,我希望自动完成框隐藏起来。
现在我遇到了一个冲突,因为单击自动完成框被视为焦点失去,甚至在传递值之前就隐藏了框。对于这种问题,有什么指导或解决方法吗?在这里有一个 jsfiddle 示例,让你更清楚地理解。
或者在这里
CSS:
#a_c {display:none;}
JS:
$('#search_field').focusout(function() { $('#a_c').hide(); // 如果我删除这一行,它就可以正常工作 }); $('#search_field').focusin(function() { $('#a_c').show(); }); $('#a_c a').click(function() { $('#search_field').val(''); var value = $(this).text(); var input = $('#search_field'); input.val(input.val() + value); $('#a_c').hide(); return false; });
HTML:
你好世界