Javascript.RU

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

Как узнать куда кликнули при blur
Есть элемент (<input type="text" />). К нему привязано событие onblur. Кто нибудь знает как кроссбраузерно получить данные об элементе по которому кликнули в обработчике этого события onblur ?
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2012, 17:25
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

kolyan1983,
легко
<script type="text/javascript">
document.i = 0;
function blu(e){
 if (document.i != 5){return;}
 var e = e || window.event;
 var target = e.target || e.srcElement;
 alert(target);
}
document.onclick = blu;
</script>
<div>Щелкни по мне</div>
<input type="text" onblur="document.i = 5;" onfocus="document.i = 0;">
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2012, 17:37
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

<div>Щелкни по мне</div>
<input type="text" onblur="alert(event.explicitOriginalTarget || event.toElement)">

Первое ff, второе ie.
Хз, как в других браузерах, лень смотреть.)
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2012, 17:41
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Aetae,
у меня при клике на див - [object HTMLDivElement]
у тебя [object Text], а вообще интересно какими браузерами поддерживается?
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2012, 17:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Сообщение от Dim@ Посмотреть сообщение
Aetae,
у меня при клике на див - [object HTMLDivElement]
у тебя [object Text],
[object Text] - точнее.

Вообще в любом случае твой вариант лучше ибо универсальнее.)
Сообщение от Dim@ Посмотреть сообщение
а вообще интересно какими браузерами поддерживается?
Только ради тебя проверил в хроме - не работает.)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2012, 17:58
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Aetae,
Сообщение от Aetae
[object Text] - точнее.

Сообщение от Aetae
Вообще в любом случае твой вариант лучше ибо универсальнее.)

Сообщение от Aetae
Только ради тебя проверил в хроме - не работает.)
ну блин через месяц - два будет поддерживать гораздо свыше того что сейчас так что это не проблема
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2012, 18:10
Интересующийся
Отправить личное сообщение для kolyan1983 Посмотреть профиль Найти все сообщения от kolyan1983
 
Регистрация: 04.03.2011
Сообщений: 23

В контексте моей задачи не тот ни другой вариант не работает/не подходит. Хотелось бы узнать возможно ли в принципе как то так для всех браузеров:

$('#element').blur(function(event){

var clickedElementClass = ...

});
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2012, 18:21
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

kolyan1983,
вы что тупой? - простите не могу сдерживаться когда хрень говорят
мой вариант и вариант Aetae
вполне подходят
<script type="text/javascript">
function your_function(target){//ваша функция принимающая элемент
  alert(target.getAttribute("id"));
}
document.i = 0;
function blu(e){
 if (document.i != 5){return;}
 var e = e || window.event;
 var target = e.target || e.srcElement;
 your_function(target);//вызывайте свою функцию с тем элементом (который вам нужен)
//и там получайте его свойства
}
document.onclick = blu;
</script>
<div id="Это ид дива по которому ты щелкнул">Щелкни по мне что бы вызвалась твоя функция которая алертит мой ид</div>
<input type="text" onblur="document.i = 5;" onfocus="document.i = 0;">

ваш вариант сделать нельзя ибо с блур-а вы сможете получить только тот же элемент на котором блур произошел
возможно в будущем такое будет можно так сделать
Ответить с цитированием
  #9 (permalink)  
Старый 14.08.2012, 18:23
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

kolyan1983,
и так можно получить все свойства
Ответить с цитированием
  #10 (permalink)  
Старый 14.08.2012, 18:24
Интересующийся
Отправить личное сообщение для kolyan1983 Посмотреть профиль Найти все сообщения от kolyan1983
 
Регистрация: 04.03.2011
Сообщений: 23

Не говорят хрень, а спрашивают. Спрашивают потому что тупо не знают. Оба варианта не подходят потому что придётся переписывать кучу стороннего кода jquery плагинов.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
Как выполнить код javascript при инклюде странички на php wfire jQuery 7 27.05.2011 14:43
Как в ВKонтакте сделано проигрывание при серфинге? iMichaeli7 Элементы интерфейса 9 18.05.2011 17:47
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Как узнать, присутствует ли в окне полоса прокрутки или нет? возжаждавший Элементы интерфейса 6 12.03.2010 23:00