Чем отличается 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, время: 01:58. |