2016-03-24 6 views
0

Я пытался закрыть мой список автозаполнения в JavaScript, если пользователь нажимает где-либо еще, и нашел интересный ответ: Jquery Close autoComplete listJavascript автозаполнения близко с визуальной ошибкой

Поскольку у меня нет опции «showmore», как в оригинальный вопрос, который я приспособил его следующим образом:

$(document).bind('click', function (event) { 
      $(".ui-menu-item").remove(); 
    }); 

Однако этот код создают визуальный баг, который вы можете увидеть на следующем скриншоте:

Visual bug screenshot

А вот где в коде я добавил блок кода для обработки закрытия автозаполнения: https://github.com/CUTR-at-USF/usf-mobullity/blob/mobullityrebase/src/client/js/otp/widgets/tripoptions/TripOptionsWidget.js#L294

Я попытался изменить .ui-menu-item к .ui-menu или .ui-autocomplete но этим изменился инвалиды возможности открыть список автозаполнения.

Если у вас есть идея, почему это осталось от списка автозаполнения и знаете, как исправить это, дайте мне знать. Я предполагаю, что он исходит от .ui-menu-item, но я не уверен, и то, что я пробовал, не увенчалось успехом.

+0

вы щелкните правой кнопкой мыши элемент letfover и щелкните элемент проверки (предположим, что хром) и проверьте структуру документа и посмотрите, какой элемент остается (может быть родительским), возможно, вы хотите изменить свой JS-код, чтобы удалить этот элемент. также, просто проверьте, действительно ли вам нужно удалить его, или вы можете просто скрыть его ... –

+0

Почему вы не пытаетесь добавить dsiplay none к элементу? –

+0

@ redflar3 Я сделал это, и поэтому я говорю, что я пробовал '.ui-menu' и' .ui-autocomplete'. Этот тег является тем, который я могу видеть у инспектора на оставшемся элементе. – user1527152

ответ

1

Если вам нужен элемент, который будет использоваться в будущем, вы должны попробовать элемент hide вместо его удаления. Кроме того, смена удаления, чтобы скрыть работу, поэтому добавление этого ответа только для записи.

 Смежные вопросы

  • Нет связанных вопросов^_^