我做了作业,检查了很多问题,但仍然找不到我可以工作的东西。

我有搜索输入。当用户单击示例时,我希望在搜索输入中一个字母一个字母地写上“医生”一词。我早就可以通过更改$(“#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

09-11 18:25
查看更多