При подключении EasyAutocomplete к полю ввода, он теряет фокус - PullRequest
0 голосов
/ 27 февраля 2019

Я использую EasyAutocomplete, он работает хорошо, единственная проблема, с которой я сталкиваюсь - поле ввода теряет контроль, когда EasyAutocomplete присоединяется к нему.

Я хочу, чтобы EasyAutocomplete активировался после того, как пользователь набрал 2 символа.
Когда я набираю 1 символ, ничего не происходит по мере необходимости, но после ввода 2-го символа EasyAutocomplete должен присоединиться и начать работать.Однако, что происходит, я должен щелкнуть за пределами поля ввода, чтобы все произошло.
Именно этот «внешний щелчок», который я должен сделать, чтобы этот плагин заработал, проблематичен для меня.
Я также попробовал событие input, но я не работал должным образом.
Событие change кажется вполне подходящим для моего требования.
Как мне решить эту проблему?

var ib = $("#inputbox");

$(document).on("keyup", ib,function(e) {
leng = ib.val();
 });


$(document).on("change", ib,function(e) {    
if(leng.length < 2){
       #do something      
 }else{
       ib.easyAutocomplete(options);
  }
 });

1 Ответ

0 голосов
/ 27 февраля 2019

Во-первых, вы должны изменить «изменить» на «keyup»

Второй лен не обновляется, если вы поместите его вне события

Наконец, событие в документе может быть не лучшимесли вы хотите, чтобы это событие вызывало только этот элемент, измените документ на ваш элемент

$("#inputbox").on("keyup", ib,function(e) {
   if($("#inputbox").val().length < 2){
      #do something      
   }else{
      ib.easyAutocomplete(options);
   }
});
...