event.target не отличается в браузерах.
event.target — это ссылка на объект, отправивший событие. поскольку вы прикрепляетесь к кнопке, она также прикрепляется к элементу span. поэтому, когда вы нажимаете на span, он показывает узел span, а на кнопке показывает кнопку, которая правильная, но это поведение более очевидно в Chrome, но не в Mozilla.
Если вы просто хотите прикрепить событие к элементу кнопки. вы можете рассмотреть следующие действия
Если вы хотите, чтобы кнопка отображалась как на кнопке, так и на клике диапазона, вы можете рассмотреть возможность использования здесь currentTarget.
currentTarget всегда ссылается на элемент, к которому привязан обработчик события.
Думаю, здесь это может быть полезно.
проверьте этот фрагмент
document.querySelector("button").addEventListener("click", function(e) {
console.log(e.currentTarget.nodeName);
});
button {
border: 1px solid;
background: 0;
padding:10px;
}
span {
width: 100px;
height: 100px;
background-color: red;
}
<div id="id-div">
<button type="button">
<span>Sometext</span>
</button>
</div>
person
Geeky
schedule
25.01.2017
<button>также есть что-то особенное, так что FF не устанавливаетtargetдля внутренних элементов. Если мы заменим эту кнопку на<div>, то оба UA будут вести себя одинаково. В FF даже есть свойствоexplicitOriginalTarget, которое доходит до точного TextNode, по которому был нажат щелчок. В случае с<button>он по-прежнему останавливается на кнопке... Хотя не уверен, что стоит открывать заново... - person Kaiido   schedule 25.01.2017