我做了作业,检查了很多问题,但仍然找不到我可以工作的东西。
我有搜索输入。当用户单击示例时,我希望在搜索输入中一个字母一个字母地写上“医生”一词。我早就可以通过更改$(“#search”)。val()来做到这一点,但这就是问题所在。通常情况下,用户输入搜索输入会自动完成div。它由keydown事件触发。如果我只是更改input的val属性,则自动补全div不会显示出来,因此我需要以某种方式触发keydown事件才能显示出来。
我找到了这个解决方案:
$("#example").click(function() {
$("#search").focus();
var e = jQuery.Event("keyup");
e.keyCode = 50;
$("#search").trigger(e);
});
但我无法使它正常工作。有什么想法吗?
这是html的外观:
<input type="text" id="search" />
Example: <span id="example">doctor</span>
最佳答案
$("#example").click(function() {
$("#search").focus();
var e = jQuery.Event("keydown");
e.keyCode = 50;
$("#search").trigger(e);
});
参考:Definitive way to trigger keypress events with jQuery