// 通用的事件绑定函数
function bindEvent(elem, type, selector, fn) {
//判断传入参数,传入三个参数为事件绑定,四个为事件代理
if (fn == null) {
fn = selector
selector = null
}
elem.addEventListener(type, event => {
const target = event.target
if (selector) {
// 代理绑定
if (target.matches(selector)) {
fn.call(target, event)
}
} else {
// 普通绑定
fn.call(target, event)
}
})
}
网友评论