blackdarthvader
@blackdarthvader
Только учусь кодить ^_^

Как скрытие и появление блока div?

Здравлясвуйте.

Имеется форма поиска на сайте, при нажатии на input я сделал так, чтобы появлялся блок с подсказками, а как его потом скрыть не имею понятия. Хочу чтобы при щелчке в любом месте сайта (кроме инпута, который активирует данный блок) блок скрывался. Сейчас он скрывается если я снова нажму на данный input.

Вот как я делал

форма поиска
<form action="" method="post">
                 <input type="text" name="search"  onclick="javascript:look('hot-word');">
                 <input type="submit" value="Найти"  />
                    <div class="popular-find" id="hot-word" style="display: none;">
                        <div class="hot-word">
                            <div class="hot-word-head">Подсказка</div>
                            <div class="hot-word-list">
                                <span>
                                    <a href="#">1</a>
                                </span>
                                <span>
                                    <a href="#">2</a>
                                </span>
                            </div>
                        </div>
                    </div>
                </form>


А вот обработчик

<script>
function look(type){
param=document.getElementById(type);
if(param.style.display == "none") param.style.display = "block";
else param.style.display = "none"
}
</script>


Как реализовать, то что я хочу?
  • Вопрос задан
  • 2833 просмотра
Пригласить эксперта
Ответы на вопрос 2
Ronnie_Gardocki
@Ronnie_Gardocki
Я у мамы фронтендщик.
Для инпута надо навесить ивент blur, который будет прятать блок. blur это ивент, который срабатывает когда элемент теряет фокус (то есть если был выделен инпут, и юзер кликнул не по инпуту, то сработает blur ивент).
document.querySelector("#input").addEventListener("blur", function() {
  // спрятать блок
}, false);
Ответ написан
nastya_cyxarik
@nastya_cyxarik
php, python dev
Ну суть если нажимаешь на все кроме инпута подсказка прячется. Что-то типа такого $('input:not(.search)') , а дальше действие и прячешь. Но я б подсказку на ховер выводила.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы