Вчера у меня была точная проблема, но после некоторых исследований я получил довольно удобное решение для этого.
По умолчанию этот скрипт скрывал результат div (Список предложений) в событии размытия в текстовом поле поиска, поэтому, как только мы нажмем на полосу прокрутки div, фокус исчезнет из элемента ввода, а div результата закроется. Поэтому я сделал небольшое изменение в файле control.js, чтобы изменить поведение скрипта, поэтому теперь метод result close close не вызывает размытие (фокусировка) элемента ввода, а срабатывает при щелчке документа, кроме элемента ввода текста.
Для вашего удобства я поместил отредактированный файл controls.js здесь .
Если вы хотите знать, что изменилось в файле JS, вот оно;
Добавлен прослушиватель событий в документ. Чуть ниже этой линии
"Event.observe (this.update," нажатие клавиши ", this.onKeyPress.bindAsEventListener (this));"
Event.observe($(document), "mouseup", this.onMouseup.bindAsEventListener(this));
Добавлен новый метод onMouseup.
onMouseup: function(event) {
if(!this.hasFocus) {
this.hideTimeout = setTimeout(this.hide.bind(this), 250);
this.hasFocus = false;
this.active = false;
}
},
Изменить метод onBlur (закомментировать две строки в блоке)
onBlur: function(event) {
//this.hideTimeout = setTimeout(this.hide.bind(this), 250);
//this.active = false;
this.hasFocus = false;
}
Надеюсь, это решит вашу проблему.
Спасибо
Винод Кумар