В JavaScript функции вызываются с использованием следующего синтаксиса:
functionName()
При использовании обработчика событий каждое событие будет вызывать функции, назначенные в качестве обработчиков событий. Вы не хотите вызывать функцию, но вместо этого установите функцию значение в качестве обработчика событий, например:
function alertTime(inputTime) {
inputTime = Date.now();
alert(inputTime);
}
element.onclick = alertTime;
Вот почему предупреждение появляется немедленно: вы вызываете свою функцию вместо того, чтобы назначать его обработчику событий onclick
.
Вы заметите, что это не передается переменной testTime
. Хотя вы можете связать текущее значение testTime
, ""
, для каждого отдельного вызова обработчика событий, например так:
element.onclick = alertTime.bind(this, testTime)
... скорее всего, это не то, что вам нужно, так как обработчик событий всегда вызывается с ""
, даже если testTime
изменяется. Вместо этого попробуйте использовать testTime
внутри вашей функции напрямую.