powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / javascript: в onblur выяснить на что переходит фокус
24 сообщений из 24, страница 1 из 1
javascript: в onblur выяснить на что переходит фокус
    #38416009
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под конец дня не соображу как реализовать:

есть input и "всплывающий" div (div имеет класс 'popup')
нужно чтоб div прятался если input теряет фокус при нажатии мышкой не на div
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416016
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416036
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для старых IE вместо relatedTarget можно юзать fromElement или toElement
http://javascript.ru/tutorial/events/properties#kogda-triggerov-bolshe-odnogo:-relatedtarget
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416089
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к сожалению пробую - везде relatedTarget показывает undefined (
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416091
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
  $('myInput').on('blur', function(e){ console.log(e.originalEvent.relatedTarget); });
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416123
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оказывается, relatedTarget есть, когда фокус передается другому контролу, а не просто теряется
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416124
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spесть input и "всплывающий" div (div имеет класс 'popup')
нужно чтоб div прятался если input теряет фокус при нажатии мышкой не на divвешай онклик на документ и на див.
в онклике документа убивай попап.
в онклике дива останавливай всплывание евента.
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416157
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

да так и сделал, но так как это компонент их их может быть на странице не один - не есть хорошо - нужно аккуратно вычищать после...
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38416161
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spно так как это компонент их их может быть на странице не один - не есть хорошо - нужно аккуратно вычищать после...так это понятно - при закрытии поп-апа делать document.removeEventListener соответствующей поп-апу функции..
по моему, тут трудностей не возникнет.
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418157
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с кликом справился - но теперь вопрос в том как прятать "всплывающий" div по onblur?
вставляю в документ еще один инпут, делаю таб - e.originalEvent.relatedTarget - нету!(

вот разметрка

Код: html
1.
2.
3.
4.
<div id="_div">
  <input type="text" id="myInput" /><input type="text" />
  <div class="popUpDiv"></div>
</div>
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418822
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может тут как-то спасет событие смены активного элемента, но в MDN черт ногу сломит найти события для DOM-элементов - искал полчаса так и не нашел собитыя даже для HTMLInputElement - где они их там попрятали?

Есть ли у документа событие смены активного элемента?
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418834
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делал уже регистрацию события с захватом события

Код: javascript
1.
myInput.addEventListener('focusout', function(e) { ........}, true);



один хрен - target всегда равен myInput
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418836
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myInput.addEventListener('blur', function(e) { ........}, true);

и так тоже не работает...
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418899
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spЕсть ли у документа событие смены активного элемента?
Я про такое не слышал...
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38418913
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spmyInput.addEventListener('blur', function(e) { ........}, true);

и так тоже не работает...
Бивас, тест! (с)

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
window.onload=function (){
	var o=document.getElementsByTagName('input');
	for (var i=0; i<o.length; i++) {
		o[i].addEventListener('blur', 
			(function (N) {
				return function (){alert(N);};
			})(i)
		, true);
	};
};
</script>
</head>
<body>
<body>
<input />
<input />
<input />
</body>
</body>
</html>


Таки работает!
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419222
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

вопрос был не о том срабатывает ли onblur или нет - конечно же срабатывает - сомнений быть не может как и то что мы есть :)) !!!
но вот event.target (relatedTarget, toElement - выберите по вкусу ) - не выдает информации на какой элемент переходит фокус!!!
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419252
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spevent.target (relatedTarget, toElement - выберите по вкусу ) - не выдает информации на какой элемент переходит фокус!!!
Так самого перехода еще небыло...
Сам переход будет отловлен в событии focus у элемента.
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419285
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spвставляю в документ еще один инпут, делаю таб - e.originalEvent.relatedTarget - нету!(странно.. настолько странно, что я не поленился сделать пример , в котором по нажатию таб на консоль вывелся правильный relatedTarget
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419301
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечя не поленился сделать пример , в котором по нажатию таб на консоль вывелся правильный relatedTarget
У меня в Опере - undefined...
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419317
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spвставляю в документ еще один инпут, делаю таб - e.originalEvent.relatedTarget - нету!(

вот разметрка

Код: html
1.
2.
3.
4.
<div id="_div">
  <input type="text" id="myInput" /><input type="text" />
  <div class="popUpDiv"></div>
</div>

я так понимаю, задача в том, чтобы див не прятался, если фокус переходит по некоторым инпутам?

если relatedTarget ненадежен, всегда есть вариант от Кэпа - по онблюру любого из этих инпутов ставить таймер на скрытие дива, по онфокусу убивать этот таймер
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419346
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

вот это идея! спасибо!
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419352
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечspвставляю в документ еще один инпут, делаю таб - e.originalEvent.relatedTarget - нету!(странно.. настолько странно, что я не поленился сделать пример , в котором по нажатию таб на консоль вывелся правильный relatedTarget

у меня в ФФ - null
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419372
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

а blur оказывается совсем ненадежный товарищ - его во всех землях интернета ругают :)
...
Рейтинг: 0 / 0
javascript: в onblur выяснить на что переходит фокус
    #38419385
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

но он хотя бы стабильно вызывается по факту? в варианте с таймером этого будет достаточно
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / javascript: в onblur выяснить на что переходит фокус
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]