我定义了一个函数来更改元素属性。
我想在“addEventListener”中向此函数传递一个参数,这是我的问题。
这是函数:
function collapse (el) {
var _cl = el.classList;
_cl.add("box_size1");
el.removeAttribute("id");
}
主要代码如下:
window.onload = function() {
var el = document.getElementById("box_size2");
el.addEventListener("click", collapse(???));
}
我应该写什么来代替问号?
最佳答案
无需通过 function 传递任何内容。默认 this
是绑定(bind)在函数中的。只需在函数内调用 this
而不是 el
window.onload = function() {
var el = document.getElementById("box_size2");
el.addEventListener("click", collapse);
}
function collapse() {
var _cl = this.classList;
_cl.add("box_size1");
this.removeAttribute("id");
console.log(this.outerHTML)
}
<button id="box_size2">click</button>
关于javascript - 在 addeventlistener- javascript 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45049008/