Почему onclick не работает? [дубликат]

108
08 апреля 2021, 22:00
На этот вопрос уже дан ответ здесь:
Как куда-нибудь передать функцию // почему событие вызывается сразу же? (1 ответ)
Закрыт 1 год назад.

Уже много времени ломаю голову над событием onclick. Подскажите, почему то что стоит в событии onclick (к примеру, просто console.log), выполняется СРАЗУ, без нажатия на элемент которому был присвоен этот onclick. А когда нажимаешь на элемент, то ничего не происходит (хотя, по идее должно).

Что я делаю не так? Как сделать так, чтобы то что в onclick выполнялось после того, как будет клик по элементу. Вот пример:

document.getElementById('f').onclick = console.log('work')
 <button id="f">Button</button>

Answer 1

Потому что эта строчка

... = console.log('work')

прямо здесь вызывает console.log, который ничего не возвращает.

document.getElementById('f').onclick = function(e) { console.log('work'); };
 <button id="f">Button</button>

READ ALSO
Кнопка scroll to для любого разрешения экрана

Кнопка scroll to для любого разрешения экрана

Как сделать, чтобы вот такая scroll to кнопка приводила не к координатам, а к конкретному диву что-ли?

83
Как сделать функцию , которая возвращает setTimout

Как сделать функцию , которая возвращает setTimout

Как сделать функцию , которая возвращает setTimout с переменной заданной как аргумент функцииЕсть функция -

109
Кому задавать атрибуты, потомку или родителю?

Кому задавать атрибуты, потомку или родителю?

Какая структура с точки зрения CSS правильная? Вариант 1:

99