Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2012, 17:50
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

вопрос по focusOut
Можно ли у события focusOut узнать на какой элемент при этом кликнули?
При этом у объекта event нет ни свойства toElement, ни relatedTarget.
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2012, 18:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

focusOu - не наю такого - есть blur
http://jquery-docs.ru/Events/blur/#fn
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2012, 18:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Ну если только тупо перехватывать все что можно в документе:
<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>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2012, 18:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

хотя это решение тоже не работает должным образом, если переходить по элементам нажимая клавишу TAB
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2012, 19:12
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

to Deff: http://api.jquery.com/focusout
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2012, 19:14
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

to devote: мне этого вполне хватит, единственное - onclick выполняется после blur, а mousedown перед(и он мне подходит), но всегда ли так?
Имеется ввиду, что из твоего списка событий мне не нужны кнопки, хватит только мыши(и нагружать комп не надо событиями, соответственно onfocus тоже ненужен), но всегда ли и везде ли(браузеры) mousedown выполняется до blur, это вопрос. А точнее даже не blur, а http://api.jquery.com/focusout. Потому что он позволяет всплывать событию, а мне это требуется.

Последний раз редактировалось see613, 27.06.2012 в 19:18.
Ответить с цитированием
  #7 (permalink)  
Старый 27.06.2012, 19:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от see613
но всегда ли так?
сложно сказать, не тестил если честно.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #8 (permalink)  
Старый 27.06.2012, 19:33
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

как тебе такая замарочка?
когда вызывается blur, мы вызываем клик (jquery: $.trigger("click.мой_namespace")).
а у клика уже есть target.
В итоге мы следим за blur и кликом, поставленным на нужный элемент, и вроде ресурсы не расходуются впустую.
Ответить с цитированием
  #9 (permalink)  
Старый 27.06.2012, 19:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от see613
и вроде ресурсы не расходуются впустую.
ну вполне нормально можно и так конечно сделать.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по each() и перебору строк таблицы battrack jQuery 1 09.02.2012 14:30
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Вопрос по работе функций в PHP bayah Серверные языки и технологии 2 12.02.2011 17:42
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58