Я пытаюсь создать такую же интерактивную панель поиска, как apple.com (и я знаю, что есть много других сообщений, которые задают похожие вопросы), и я пытаюсь использовать JS для переключения панели поиска.
Мой подход был с JQuery:
// inserts a new search_bar
$(".glyphicon.glyphicon-search").on("click", function(){
var search_bar = document.createElement("input");
search_bar.setAttribute("type", "text");
search_bar.setAttribute("class", "form-control search left rounded");
search_bar.setAttribute("id", "search-bar");
search_bar.setAttribute("placeholder", "search");
search_bar.setAttribute("ng-model", "search.name");
$(this).parent().replaceWith(search_bar);
});
HTML:
<span class="glyphicon glyphicon-search" style="color:white;"></span>
Эта функция заменяет глификон поиска полосой поиска (тега ввода) при нажатии. Но мне нужен хороший способ вернуть панель поиска к глификону поиска при нажатии в другом месте.
Любые идеи?
Скрипка: http://jsfiddle.net/w9pwh7fr/1/
Обновлять:
Использование $ ('html'). On ("click", function () {}), похоже, работает для off click и event.stopPropagation, чтобы предотвратить нажатие на глификон для запуска обоих событий.
Небольшая проблема теперь с одним переключением поиска. При первой казни.
Обновленный Fiddle: http://jsfiddle.net/w9pwh7fr/3/
$('body').click(function(){});
- person starvator   schedule 20.10.2014