Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.02.2016
Сообщений: 2
1

Обработчики событий в JS

03.02.2016, 22:25. Показов 612. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.
Появился вопрос.
Есть такой HTML код.

HTML5
1
2
3
4
<form action="#" method="post" class="search">
<input type="search" name="search" value="Search something..." class="input-off" id="input">
<input type="submit" value="" class="submit-off" id="submit" ></i>
</form>
И такой JS код.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    function onSearch(event) {
    event.preventDefault();
    var input = document.getElementById('input');
    var submit = document.getElementById('submit');
    input.classList.add("input-on");
    submit.classList.add("submit-on");
}
function offSearch() {
    var input = document.getElementById('input');
    var submit = document.getElementById('submit');
    input.classList.remove("input-on");
    submit.classList.remove("submit-on");
    }
submit.addEventListener("click",onSearch);
input.addEventListener("blur",offSearch);
Никак не могу придумать как сделать так чтобы обработчик offSearch срабатывал только тогда когда фокус уходит И с элемента имеющего id="input" и с элемента имеющего id="submit". Тоесть если мы просто кликнем в любом месте страницы кроме этой формы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2016, 22:25
Ответы с готовыми решениями:

Обработчики событий
Доброго времени суток! Друзья, помогите новичку разобраться. Вопрос такой: через циклы на страницу...

Class и обработчики событий
Доброго времени суток. Кто нибудь, когда нибудь, ложил обработчик события в класс, так делается...

JavaScript обработчики событий
Здравствуйте. У меня есть код на JavaScript, где при прохождении мышки над картинкой, меняется ее...

объясните про обработчики событий
подскажите, в чём разница между следующими инструкциями: element.addEventListener(&quot;click&quot;,...

2
23 / 23 / 11
Регистрация: 28.02.2015
Сообщений: 61
04.02.2016, 00:25 2
Если я правильно понял, то

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
function onSearch(event) {
    event.preventDefault();
    input.classList.add("input-on");
    submit.classList.add("submit-on");
}
function offSearch(e) {
    if (e.target == submit || e.target == input) return false;
    input.classList.remove("input-on");
    submit.classList.remove("submit-on");
}
 
submit.addEventListener("click",onSearch);
document.onclick = offSearch;
1
0 / 0 / 0
Регистрация: 03.02.2016
Сообщений: 2
04.02.2016, 01:50  [ТС] 3
Да именно оно. Спасибо большое. Пол дня сидел. Хотя все так просто. Но я был на пути к этому. У меня был такой же if проверяющий только фокус на инпуте и сабмите.))
0
04.02.2016, 01:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2016, 01:50
Помогаю со студенческими работами здесь

Можно ли объявлять общий обработчики событий?
Собственно вопрос находится в названии темы. Вот код: &lt;input type=&quot;text&quot; id=&quot;text&quot;&gt;&lt;h3...

Как удалить обработчики событий с элемента?
Обработчик установлен, например, так: &lt;a id=&quot;font&quot; href=&quot;#&quot; onclick=&quot;f();...

Повесить обработчики событий на массив элементов
var headers=document.querySelectorAll(&quot;thead tr th&quot;); for(var i=0;i&lt;headers.length;i++)...

Напишите функции-обработчики для следующих событий: onDblclick
onDblclick При двойном щелчке мыши по картинке она должна увеличиваться в размерах


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru