javascript - 将事件和参数传递给另一个函数

标签 javascript

为了将事件信息传递给更改函数,我必须不带括号地从事件监听器调用更改函数。

var boxes = document.getElementsByClassName('boxes');

for(var i = 0; i < boxes.length; i++){
  boxes[i].addEventListener('click', change, false);
}

function change(e){
  e.target.style.border = '1px solid red';
}

当我想在传递事件的同时传递参数时,问题就来了。似乎在添加参数时事件失败。

我如何能够在传递事件以更改边框的情况下包含类似这样的内容,但我还能够将参数传递给函数?

var boxes = document.getElementsByClassName('boxes');

for(var i = 0; i < boxes.length; i++){
  boxes[i].addEventListener('click', change(10, 20), false);
}

function change(e, a, b){
  e.target.style.border = '1px solid red';
  console.log(a * b);
}

任何帮助都会很棒!

最佳答案

传递给它一个匿名函数:

boxes[i].addEventListener('click', function ( e ) { change(e, 10, 20) }, false);

关于javascript - 将事件和参数传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946090/

相关文章:

javascript - explode 函数在文本区域中返回单行

javascript - 并行调用 async/await 函数

javascript - React 不会在 map 函数中渲染

closures - 如何在闭包中保存变量的值

javascript - ajax发布多个输入组

javascript - 修改按钮单击时调用的 javascript 函数

javascript - 遍历 DOM 中的跟随轴

javascript - 非 Javascript 国家/地区选择

javascript - setState 会立即设置状态吗?

javascript - JQuery:向所有 child 添加点击事件,不起作用