@DiseaseC

Как убрать фокус с элемента при повторном клике на него?

Есть кнопка, при клике на которую разворачивается меню (по фокусу). Как я могу сделать, чтобы при клике на эту же кнопку второй раз меню свернулось? Получается, фокус нужно как-то убрать, но как?
  • Вопрос задан
  • 829 просмотров
Решения вопроса 1
aliencash
@aliencash
Партизан
Метод blur - https://learn.javascript.ru/focus-blur
Но лучше бы переделать всю эту кухню на добавление класса.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AleksRap
Переключайте состояние меню открыто/закрыто переключением класса (например .active)

btn.addEventListenner('click', () => menu.classList.toggle('active'))
Ответ написан
Комментировать
@Rerurk
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>
<button id="idBtn">open</button>
<div id="idDiv" style="width: 200px;height: 200px;background: #00f" hidden="true">ТУТА мИнЮ</div>
<script>
	let div=document.getElementById('idDiv');
	let btn=document.getElementById('idBtn');
	btn.onmousedown=()=>do1();
	function do1() {
         div.hidden=false;
         btn.innerText='Close'
         btn.onmousedown=()=>do2();
    }
    function do2() {
        btn.onmousedown=()=>do1();
        btn.innerText='Open';
          div.hidden=true
    }
</script>
</body>
</html>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы