Дополню LoveCodeandCoffe :) () => // your func - это не какая-то особая магия, это почти(детали пока вам не важны, если надо прочитаете в учебнике) тоже самое что:
function() {
// your func
}
Т.е. вы создаёте безымянную функцию-обёртку которую уже в свою очередь не вызывая и назначаете обработчиком на click.
Нет.
Утрируя: скобочки после имени функции - это вызов этой функции прям сейчас, вон там где ты это написал.
Обработчиком на клик в данном случае, соответственно, назначается то, что функция возвращает. А clearTimeout у нас не возвращает ничего.
В итоге прямо в момент запуска кода cityRemoveTime будет остановлен, а на каждый клик у нас будет происходить ничего.
Когда тебе нужно выполнить функцию после somthing события используй вызов безымянной функции , которая выполнит нужную тебе функцию т.е всегда используй такую конструкцию () => // your func
+ стрелочной функции в том, что ты можешь передать дополнительные параметры в функцию обработчик
Ibishka, Здесь не надо, так как ты описываешь функцию, а не вызываешь ее, когда такая запись
function a ( ) { 1+2} - это описание функции
a() //3 -это выполнение функции
в записи выше у тебя описывается функция которая сработает при событии input
Я не люблю описывать функции в обработчике поэтому описываю их в другом месте, а потом передаю в обработчик через ()=> func()