Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
 
АртемийТ
0 / 0 / 0
Регистрация: 11.04.2018
Сообщений: 4
1

Как в функцию-обработчик события передать аругменты?

17.03.2019, 21:38. Просмотров 150. Ответов 5

В переменную записана функция с параметрами.
Как её вызвать в качестве обработчика события? Если прописать аргументы сразу, то произойдет её мгновенный вызов.
Javascript
1
2
3
4
5
6
var func = function (evt, link) {
  evt.preventDefault();
  link.classList.add('hidden');
};
 
element.addEventListener('click', func);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2019, 21:38
Ответы с готовыми решениями:

Как передать аргументы в функцию-обработчик события?
Как передать аргументы в функцию-обработчик события? Например: <button id="btn1">1</button> ...

Передать параметры в обработчик события
Доброго времени суток! Создаю кнопку в ООП стиле. Как передать параметр в обработчик событий....

Вынести обработчик события в отдельную функцию.
Что то бред какой то,помогите это переписать в функцию document.getElementById('btn').onclick...

Напишите функцию-обработчик для события onFocus для поля checkbox
Помоги, пожалуйста сделать :cry::help: Задание :Напишите функцию-обработчика для события...

Как остановить обработчик события onclick?
Типо тест на знание английского.Есть словарь,нужно чтобы по клику выводилось следующее слово.Всё...

5
kidASM
26 / 24 / 5
Регистрация: 28.08.2013
Сообщений: 77
17.03.2019, 22:52 2
Третий параметр
0
kalabuni
супермизантроп
Эксперт JS
3377 / 2680 / 638
Регистрация: 18.04.2012
Сообщений: 8,112
18.03.2019, 04:17 3
АртемийТ, evt.target == link, сиречь нет необходимости передавать функции link, хватит одного evt, который передастся и без вашего участия
0
amr-now
Эксперт JS
1568 / 910 / 383
Регистрация: 14.06.2018
Сообщений: 2,294
18.03.2019, 07:12 4
К ответу kalabuni добавлю:
1) у функции, назначенной в качестве обработчика события, всегда используется только первый и единственный параметр evt.

2) evt.preventDefault() далеко не всегда нужен, как кажется новичку и как навязывают в книгах.
Часто данная инструкция говорит о непонимании смысла реализуемой функции.

3) Именно обработчик события обычно засовывает в функцию this. Можно использовать вместо evt.target.
0
j2FunOnly
Модератор
Эксперт JS
1012 / 919 / 524
Регистрация: 05.06.2015
Сообщений: 2,078
19.03.2019, 08:46 5
АртемийТ, function currying
Javascript
1
2
3
4
5
6
7
8
9
10
// const func = link => evt => { ... }
var func = function (link) {
  return function (evt) {
    evt.preventDefault();
    link.classList.add('hidden');
  }
}
 
var link = ...
element.addEventListener('click', func(link));
0
amr-now
Эксперт JS
1568 / 910 / 383
Регистрация: 14.06.2018
Сообщений: 2,294
19.03.2019, 09:26 6
j2FunOnly, новичок подумает, что подобную белиберду ему надо накручивать постоянно.
Он не понимает смысла данной функции, но постоянно будет накручивать, потому что так посоветовали.

Добавлено через 7 минут
----
Если link действительно не имеет никакого отношения ни к this, ни к evt.target, то новичку проще использовать замыкание в открытом "честном" виде.
https://learn.javascript.ru/functions-closures
0
19.03.2019, 09:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2019, 09:26

Как повешать на div простой обработчик события onClick
Привет всем. Я пытаюсь сделать так. Вот у меня есть блок div и внутри него текст: <body> <div...

Как программным образом менять обработчик события объекта?
Мне надо программным образом задавать обработчики событий объекта. Скажем при запуске страницы при...

Как отловить обработчик события кнопки в инспекторе кода браузера?
Подскажите пожалуйста, есть ли возможность отловить обработчик события нажатия кнопки в инспекторе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru