Ответ 1
func
не будет вызываться дважды по клику, нет; но продолжайте читать для деталей и "получить".
Из addEventListener
в спецификации:
Если несколько идентичных
EventListeners
зарегистрированы на одномEventTarget
с теми же параметрами, дубликаты экземпляров отбрасываются. Они не вызываютEventListener
дважды, и поскольку они отбрасываются, их не нужно удалять сremoveEventListener
методаremoveEventListener
.
(Мой акцент)
Вот пример:
var target = document.getElementById("target");
target.addEventListener("click", foo, false);
target.addEventListener("click", foo, false);
function foo() {
var p = document.createElement("p");
p.innerHTML = "This only appears once per click, but we registered the handler twice.";
document.body.appendChild(p);
}
<input type="button" id="target" value="Click Me">