传递函数参数而不调用函数

时间:2020-04-20 13:59:24

标签: javascript function addeventlistener

document.querySelector(DOM.refreshRem).addEventListener('click', function(param));

这是我遇到的问题,我想连接该函数但不带(),所以不会立即调用它,但是该函数接受一个参数,所以我该如何处理它,我的第一个想法是将其包装在另一个函数中,但是有一种更简单的方法,这似乎嵌套太多了

1 个答案:

答案 0 :(得分:0)

因此请使用函数或使用绑定

function test1(event, param) {
  console.log(param)
}

function test2(param, event) {
  console.log(param)
}

const btn1 = document.querySelector('.test1')

btn1.addEventListener('click', function(event) {
  test1(event, 'foo')
});

const btn2 = document.querySelector('.test2')
btn2.addEventListener('click', test2.bind(btn2, 'bar'));
<button type="button" class="test1">click 1</button>

<button type="button" class="test2">click 2</button>