вопрос по focusOut
Можно ли у события focusOut узнать на какой элемент при этом кликнули?
При этом у объекта event нет ни свойства toElement, ни relatedTarget. |
focusOu - не наю такого - есть blur
http://jquery-docs.ru/Events/blur/#fn |
Ну если только тупо перехватывать все что можно в документе:
<input class="first_input" type="text" value="first_input" /> <input class="second_input" type="text" value="second_input" /> <input class="last_input" type="text" value="last_input" /> <script> var focusTarget, els = document.getElementsByTagName('input'); for( var el, i = 0 ; el = els[ i++ ]; ) { el.addEventListener( "blur", function( e ) { alert( "Уходим с элемента: "+e.target.className+ " и Перешли на элемент: " + ( focusTarget && focusTarget.className ) ); }, true); } document.onmousedown = document.onkeydown = document.onkeypress = document.onfocus = function( e ) { focusTarget = e.target; } </script> |
хотя это решение тоже не работает должным образом, если переходить по элементам нажимая клавишу TAB
|
to Deff: http://api.jquery.com/focusout
|
to devote: мне этого вполне хватит, единственное - onclick выполняется после blur, а mousedown перед(и он мне подходит), но всегда ли так?
Имеется ввиду, что из твоего списка событий мне не нужны кнопки, хватит только мыши(и нагружать комп не надо событиями, соответственно onfocus тоже ненужен), но всегда ли и везде ли(браузеры) mousedown выполняется до blur, это вопрос. А точнее даже не blur, а http://api.jquery.com/focusout. Потому что он позволяет всплывать событию, а мне это требуется. |
Цитата:
|
как тебе такая замарочка?
когда вызывается blur, мы вызываем клик (jquery: $.trigger("click.мой_namespace")). а у клика уже есть target. В итоге мы следим за blur и кликом, поставленным на нужный элемент, и вроде ресурсы не расходуются впустую. |
Цитата:
|
Часовой пояс GMT +3, время: 18:24. |