版权声明:非商业转载请附上地址与作者信息,谢谢! https://blog.csdn.net/jx950915/article/details/82690848
因为以前一直使用的jquery
,然后刚刚在使用原生dom
绑定带参的时候出现了一些问题。
初始代码片段
<button class="addEvent">绑定事件</button>
<script>
const addEvent = document.querySelector('.addEvent')
addEvent.addEventListener('click',log('绑定事件'))
function log(msg){
console.log(msg)
}
</script>
问题:1、log()
初始自执行了;2、button
没绑定上这个点击事
后来找资料才找到原因:addEventListener
第二个参数接收的是个function
,在触发时执行的。你一定要把某个参数传到这个function
里的话,用闭包返回一个function
正确写法
function log(msg){
return function(e){
console.log(msg)
//to do
}
}