Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2014, 06:16
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Чем отличается e.target от e.srcElement?
В примере ниже вроде ведут одинаково
<html>
<head>
<title> test </title>

</head>
   <body>
<div id="parent">parent<div id="child">child<div id="last_child">last child</div></div></div>
  <script>

parent=document.querySelector("#parent")
parent.onclick=function(e){
   alert([e.target.id, e.srcElement.id])
}

  </script>
 </body>
</html>

В чем разница?

Последний раз редактировалось terminator-101, 20.10.2014 в 06:19.
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2014, 06:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В Firefox нет e.srcElement

event.srcElement придумали в IE. В других браузерах и новых IE это event.target. Хром реализовал оба свойства, ради совместимости.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2014, 06:37
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Спасибо, все ясно.
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2014, 06:39
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Кроссбраузерная запись:
function (event) {
    var event = event || window.event;
    var target = event.target || event.srcElement;
  }

Последний раз редактировалось tsigel, 20.10.2014 в 07:02.
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2014, 07:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

tsigel, зачем создавать глобальную переменную target? Кроме того, этот код не будет работать в 'use strict'.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2014, 07:03
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

danik.js,
Поправил. Не за чем, описался
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2014, 07:05
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Сообщение от danik.js
зачем создавать глобальную переменную target? Кроме того, этот код не будет работать в 'use strict'.
А так?
f=function (event) {
    var event = event || window.event;
    var target = event.target || event.srcElement;
  }
Ответить с цитированием
  #8 (permalink)  
Старый 20.10.2014, 07:13
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

terminator-101,
Так будет. В режиме 'use strict' нельзя объявлять переменные без 'var' и многие другие строгости добавляются.

только
var f = ...
Ответить с цитированием
  #9 (permalink)  
Старый 20.10.2014, 08:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можно просто юзать полифил отсюда:
https://developer.mozilla.org/en-US/...#Compatibility

и забыть про IE
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличается Память от Память Javascript? nice_try Opera, Safari и др. 0 11.12.2013 14:19
Чем отличается составной оператор от литерала объекта? rgl Общие вопросы Javascript 10 26.02.2013 22:38
Помогите найти в чем ошибка Pashok Элементы интерфейса 6 26.02.2013 20:20
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
Чем отличается undefined от null hrundel Общие вопросы Javascript 21 01.01.2011 22:06