在一个web页面中,尤其是复杂的单页应用,通常会有大量的事件绑定。
如果使用jQuery的话,可能是这样的:
$(".nav").on("click",function(){
...
})
$(".upload").on("change",function(){
...
})
但上面的事件使用了匿名函数绑定在页面事件多的情况下会造成代码混乱。
我说的事件绑定更优雅符合两个特征:
1、能够给原有声明函数传参
2、事件绑定时不使用上面代码中的匿名函数
比如:我有一个shareInfo函数
function shareInfo(Info){
...
}
事件绑定方面只使用声明函数方式(似乎无法做到传参)
$(".btn").on("click", shareInfo)
有没有类似闭包的方式能做到这样的代码优化?
$(".btn").on("click", dataParam,shareInfo)
这个dataParam
可以通过shareInfo
的第一个参数event.data
获得啊。传参的话,最简单这样不就行了吗
前端进阶之路:点击事件绑定