首页 > 解决方案 > 无论光标或焦点在哪里,如何在 10 秒后关闭自动完成菜单?

问题描述

我有一个 JQuery UI 自动完成功能,希望菜单保持打开 10 秒,无论焦点在哪里。我有:

$("#term").autocomplete({
  source: function(request, response) {
    $.ajax({
      url: "https://example.com/",
      dataType: "json",
      data: {
        q: request.term
      },
      success: function(data) {
        response(data);
      }
    });
  },
  close: function() {
    $('.ui-autocomplete').show().delay(10000).hide();
  }  
});

不幸的是,一旦交流区域失去焦点,它就会立即关闭。如果我移除该.delay(10000).hide()部分,它会无限期地保持打开状态,但我需要在几秒钟后将其关闭。谢谢!

标签: javascriptjqueryjquery-uijquery-ui-autocomplete

解决方案


setTimeout(function(){
     $("#term").autocomplete( "disable" );
}, 10000);

推荐阅读