我刚刚发现可以通过addEventListener绑定多个参数,这真的很酷。
此link通过addEventListener解释了多个参数。
我的问题是我无法正常运行“ e.target.id”?
样本here
的CSS
#element{
width: 50px;
height: 50px;
background-color: red;
}
的HTML
<div id="element">
</div>
Java脚本
document.querySelector("#element").addEventListener('click', toggleMenu.bind(null, "e", "param2"), false);
function toggleMenu(e, param2) {
alert(e);
alert(param2);
alert(e.target.id);
}
通常我会通过做类似的事情来获得ID
document.querySelector("#element2").addEventListener("click", somethings, false);
function somethings(e){
alert(e.target.id);
}
因此,基本上没有人拥有知识并知道在这种情况下我能做什么:)?
最佳答案
您要绑定字符串吗?您需要做的只是:
document.querySelector("#element")
.addEventListener('click', e => toggleMenu(e, param2), false);
假设:您在代码的其他地方定义了
param2
。编辑:
如果仅使用
bind
需要答案,则可以执行以下操作:document.querySelector("#element")
.addEventListener('click', toggleMenu.bind(null, param2), false);
function toggleMenu(param2, e) {
/*use `e` whichever way you'd like*/
}