首页 > 解决方案 > 传入函数参数而不调用函数

问题描述

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

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

标签: javascriptfunctionaddeventlistener

解决方案


所以使用函数或使用绑定

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>


推荐阅读