Javascript.RU

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

Сообщение от kolyan1983
В контексте моей задачи не тот ни другой вариант не работает/не подходит.
Подходит - говорят хрень - простите конечно беру слова обратно
Сообщение от kolyan1983
Оба варианта не подходят потому что придётся переписывать кучу стороннего кода jquery плагинов.

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

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

Цитата:
здесь при чем тут плагины - вы хотите получить свойства элемента
Может конечно я чего то жёстко не понимаю, но попробую объяснить. Мне нужно доработать jquery плагин. В нём вешается onblur примерно так: $('#element').blur(function(element){... И нужно внутри него определить куда кликнули. Вот эта штука alert(event.explicitOriginalTarget || event.toElement) добавленная в обработчик возвращает undefined в фф и null в ie8. А вариант с ф-ей blu вообще не представляется возможным.

Последний раз редактировалось kolyan1983, 14.08.2012 в 18:42.
Ответить с цитированием
  #14 (permalink)  
Старый 14.08.2012, 18:43
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

kolyan1983,
не тупите пожалуйста!
он же передается в вашу функцию и его можно алертить, вставлять и т.п.!
<script type="text/javascript">
function your_function(target){//ваша функция принимающая элемент
  alert("Элемент по которому кликнули после блура" + target + "ID элемента" + 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;">

P.S. также можно сделать так что бы клик срабатывал только один раз после блур-а - тогда надо добавить
document.i = 0;

после
var target = e.target || e.srcElement;

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

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

ок. Я не пишу плагин. Задача требует приделать маскирование ввода в поле, к которому уже приделаны jquery validate + Query UI Datepicker. Получается конфликт. Вот и хотел немного подпилить плагин http://digitalbush.com/projects/masked-input-plugin/
Ответить с цитированием
  #17 (permalink)  
Старый 14.08.2012, 18:58
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

kolyan1983,
ясно - тогда вам нужен не я - я не знаю JQ
Ответить с цитированием
  #18 (permalink)  
Старый 14.08.2012, 18:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Вообще есть ещё такая штука как document.activeElement, но это не совсем то.
__________________
29375, 35
Ответить с цитированием
  #19 (permalink)  
Старый 14.08.2012, 19:02
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Aetae,
активный элемент
Ответить с цитированием
  #20 (permalink)  
Старый 14.08.2012, 19:09
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

<input onblur="setTimeout(function(){document.body.appendChild(document.createElement('div')).innerHTML=document.activeElement},10)">
<textarea onblur="setTimeout(function(){document.body.appendChild(document.createElement('div')).innerHTML=document.activeElement},10)"></textarea>

Работает только с редактируемыми элементами и body.
Таймаут нужен, т.к. в момент блюра ещё ни один элемент не успел получить фокуса.
__________________
29375, 35

Последний раз редактировалось Aetae, 14.08.2012 в 19:12.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по 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