为了将事件信息传递给更改函数,我必须不带括号地从事件监听器调用更改函数。
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/