通用的事件监听函数(无线下拉图片的事件监听)

用途:适合无线下拉图片列表每个图片的事件监听

function bindEvent(elem, type, selector, fn) {  
    // 如果传了三个参数,则第三个参数就是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)
        }
    })
}


const test1 = document.getElementById("tyre")
const event1 = function () {  
    console.log(this.innerText);
}
// 绑定多个
bindEvent(test1,'click','p',event1)

// 绑定一个
const event2 = function () {  
    console.log(this.id);
}
bindEvent(test1,'click',event2)
    <div id="tyre">
        <p>1</p>
        <p>2</p>
        <p>3</p>
        <p>4</p>
        <p>5</p>
        <p>6</p>
        <p>7</p>
        <p>8</p>
        <p>9</p>
    </div>
点击p就会显示相应p中的内容

函数bindEvent传入四个参数(父节点,需要绑定的事件类型,需要绑定的节点,事件内容)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容