Скажем, у меня есть некоторые элементы привязки HTML, и я хотел бы установить обработчик для каждого из них.Передача значения функции в JavaScript
window.onload = function() {
// I select all of the anchors
var myAnchors = document.querySelectorAll("a");
// I iterate through the anchors and set a handler to each of them
for (var i = 0; i < myAnchors.length; i++) {
myAnchors[i].onclick = handleControl;
}
}
function handleControl(e) {
var id = e.target.getAttribute("id");
}
Я не могу понять, как установка обработчика передает аргумент функции handleControl
. Другими словами, как myAnchors[i].onclick = handleControl;
передает значение e
в обработчик?
Я получил этот код из книги программирования JavaScript.
Наконец-то кто-то, кто прочитал настоящий вопрос. Было просто копаться через спецификацию, чтобы увидеть, могу ли я найти точку, которая на самом деле определяет это поведение, но еще не найдена ... Подозреваю, что он похоронен в [этом бите] (https://w3c.github.io/uievents/) где-то ... –
@JamesThorpe Возможно, этот? ['interface EventListener {void handleEvent (в событии evt); }; '] (http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventListener) – Andreas
@Andreas Я больше искал бит, который определяет создание' Event' перед вызовом обработчика, но я остановился на некоторое время назад :) –