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

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

Такой код jsfiddle
как сделать чтобы инпут анфокусился при нажатии мыши на любые области, кроме списка результатов, как это реализовано в поиске гугла например, я там сделал handleUnfocus для примера, только он конечно же работает при нажатии на любую область
  • Вопрос задан
  • 323 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 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>
Ответ написан
Ваш ответ на вопрос

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

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