我定义了一个改变元素属性的函数 我想在'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(???));
}
我应该写什么而不是问号?
答案 0 :(得分:2)
不需要传递任何函数。默认this
在函数中绑定。在函数内调用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>