Чем отличается 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> В чем разница? |
В Firefox нет e.srcElement
event.srcElement придумали в IE. В других браузерах и новых IE это event.target. Хром реализовал оба свойства, ради совместимости. |
Спасибо, все ясно.
|
Кроссбраузерная запись:
function (event) { var event = event || window.event; var target = event.target || event.srcElement; } |
tsigel, зачем создавать глобальную переменную target? Кроме того, этот код не будет работать в 'use strict'.
|
danik.js,
Поправил. Не за чем, описался |
Цитата:
f=function (event) { var event = event || window.event; var target = event.target || event.srcElement; } |
terminator-101,
Так будет. В режиме 'use strict' нельзя объявлять переменные без 'var' и многие другие строгости добавляются. только var f = ... |
Можно просто юзать полифил отсюда:
https://developer.mozilla.org/en-US/...#Compatibility и забыть про IE |
Часовой пояс GMT +3, время: 05:35. |