Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обьект event в разных браузерах, достаём event юзая тернарный оператор 
:(
    Опции темы
GIK
Дата 23.2.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Всем доброго времени суток.
Читал на досуге пост созданный Alianceом. Все вроде понятно, но как только начинаеш заново перечитывать, думается уже по другому smile
Помогите плз разобратся.
Вот к примеру в этом коде
Код

function registerEvent(evt) {
   evt = (evt) ? evt : ((window.event) ? event : null )
   if (evt) {
      var target = (evt.target) ? evt.target : ((evt.scrElement) ? evt.srcElement : null )
      if (target && target.tagName && target.tagName.toLowerCase() == "a") {
         // обработываем, если ЕСТЬ событие, и элемент, с которого
         // это событие пришло - <a ...>...</a>
      }
   }
}

в строке evt = (evt) ? evt : ((window.event) ? event : null ) тот evt который проверяется,
он ссылается на объект-событие который передается аргументом в функцию(т.е. событие которое произошло при вызове функции)?
Если да, то как понять логику, когда она проверяется ИМЕННО на DOM`овское значение evt?
Или может она сылается просто на событие которое произошло в данный момент, т.е. если событие вообще произошло?

PS: Начал изучать JAVA, и все что касается событий вроде все понятно, но как тольк влез в события JS......

Это сообщение отредактировал(а) GIK - 23.2.2006, 14:49


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
12345c
Дата 23.2.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



В DOM эта строка и функция ссылается на событие, которое породило вызов этой функции как обработчика события. Чтобы убедиться, что параметр существует только в этом качестве, попробуйте вызвать не как обработчик, как onclick=registerEvent() - параметр evt будет отсутствовать. (А для обработчиков точно знаем, какими событиями мы их вызвали в своём коде.)


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Greendrake
Дата 23.2.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Цитата(GIK @ 23.2.2006, 14:48)
Начал изучать JAVA, и все что касается событий вроде все понятно, но как тольк влез в события  JS......

Цитата(Sardar @ 30.4.2005, 23:30)
JS простой язык

smile
PM MAIL   Вверх
Ciber SLasH
Дата 24.2.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



evt = (evt) ? evt : ((window.event) ? event : null )
означает:
1) если аргумент функции существует (тогда это ссылка на объект event, в нормальных браузерах), тогда переменной evt присваиваем аргумент функции
2) если аргумент функции НЕ существует, тогда проверяем существует ли window.event (это для IE), если да, то присваиваем переменной evt ссылку на объект event, иначе — присваиваем null.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.