tundramani
@tundramani

Как передать в функцию аргумент если в ней используется параметр для event?

Есть функция которая назначена кнопке
в этой функции останавливается распространение события:

var x = function(event)
{
event.stopPropagation()
//дальше код функции...
}

нужно еще передавать в функцию аргумент:

var x = function(event, аргумент)
{
event.stopPropagation()
//дальше код функции...
}

не пойму как это правильно записать, как вызывать функцию?

x(аргумент)
  • Вопрос задан
  • 6192 просмотра
Решения вопроса 2
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
Можно использовать то, что называется High Order Function выглядит это примерно так:

Если использовать ES6:
const EventHandler = ( param ) => ( event ) => {
    // Есть доступ и к объекту event и к param
    // Do Smsng
}

btn.addEventListener('click', EventHandler( true ) );


Или используя более старый синтаксис:

const EventHandlerOld = function( param ){
    return function( event ){
      // Есть доступ и к обьекту event и к param
      // Do Smsng
    }
}
btn.addEventListener('click', EventHandlerOld( true ) );


Вызывая верхнюю функцию вы передаете туда нужный вам параметр и возвращаете назад в обработчик функцию, в которую придет объект события. Тем самым, в теле функции используя замыкания, имеете доступ к двум переменным.
Ответ написан
hzzzzl
@hzzzzl
это?
кнопка.addEventListener('click', e => x(e, аргумент))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
Вы сами себе ответили. Так и пишите функцию. Event и аргумент передайте как параметры функции. Что тут не понятного?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы