@Bickaze

При клике вне блока скрыть блок, но НЕ при выделении текста в inpute?

Есть див, который скрывает при клике вне его области.

Но если выделяя текст в инпуте удерживая левую кнопку мыши выйти за область, то скрипт тоже срабатывает. Как исправить?

<div id="#ajaxUserBox">
<input value="12345">
</div>

jQuery(document).mouseup(function (e){ // событие клика по веб-документу
            var div = jQuery("#ajaxUserBox"); // тут указываем ID элемента
            if (!div.is(e.target) // если клик был не по нашему блоку
                && div.has(e.target).length === 0) { // и не по его дочерним элементам
                    jQuery("#ajaxUserBox").addClass('hidden');
            }
    });
  • Вопрос задан
  • 1407 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Bickaze Автор вопроса
Выспался и сам сделал

jQuery(document).mouseup(function (e){ // событие клика по веб-документу
         
            var div = jQuery("#ajaxUserBox"); // тут указываем ID элемента
              
            if (!div.is(e.target) // если клик был не по нашему блоку
                && div.has(e.target).length === 0  // и не по его дочерним элементам
                && div.find('input:focus').length === 0 ) {  // и инпуты при этом не в фокусе
                    jQuery("#ajaxUserBox").addClass('hidden');
            }
    });
Ответ написан
Комментировать
rim89
@rim89
программист-велосипедист
Как то так jsfiddle.net
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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