Задать вопрос
I_Love_Emma_Watson
@I_Love_Emma_Watson

Как сделать анфокус инпута при нажатии на любую область кроме инпут дропдауна?

Такой код jsfiddle
как сделать чтобы инпут анфокусился при нажатии мыши на любые области, кроме списка результатов, как это реализовано в поиске гугла например, я там сделал handleUnfocus для примера, только он конечно же работает при нажатии на любую область
  • Вопрос задан
  • 337 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@vaskadogana
Frontend developer
https://github.com/tj/react-click-outside
или

handleClick() {
	    if (!this.state.active) {
	      // attach/remove event handler
	      document.addEventListener('click', this.handleOutsideClick, false);
	    } else {
	      document.removeEventListener('click', this.handleOutsideClick, false);
	    }
	    this.setState(prevState => ({
	       active: !prevState.active,
	    }));
	}
	handleOutsideClick(e) {
	    // ignore clicks on the component itself
	    console.log('EVENT handleOutsideClick ', e)
	    if (this.node.contains(e.target)) {
	    	
	      return;
	    }
	    
	    this.handleClick();
	}


на элемент за пределами которого кликают добавить ref
ref={node => { this.node = node; }}

<li className='notif_container' ref={node => { this.node = node; }}>
						{this.button()}
					</li>
Ответ написан
Ваш ответ на вопрос

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

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