账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js事件代理如何给全局绑定click事件
    • 2019-09-11 00:00
    • 10
    45
    0

    js通过事件代理的方式绑定跳转事件,我这里的逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好的class jumpUrl,则执行跳转逻辑。但是这种方式好像只能是在点击的元素的上面,也就是最内层的元素上面有相应的class才能跳转,在外层加同样的class不生效,一直想不太明白。

     document.querySelector('.container').addEventListener('click', function (e) {
                if(e.target.classList.contains('jumpUrl')){
                    console.log("点击jumpurl")
                }
            },false)
    <div id="container" class="jumpUrl">
        <div id="wrap">
            <div id="s1" class="jumpUrl">s1
                <div id="s2" class="jumpUrl">s2</div>
            </div>
            <div id="s3"></div>
        </div>
    </div>
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 在JavaScript中,事件代理是一种策略,用于处理事件的处理。以下是一个简单的例子,说明如何使用事件代理来给全局绑定click事件:

      首先,你需要创建一个函数,这个函数将处理点击事件。然后,你可以在你的HTML文件中定义这个函数,就像这样:

      html <button id="myButton">Click me</button>

      然后,你可以在JavaScript文件中定义这个函数,就像这样:

      ```javascript // 创建事件处理函数 function handleClick(event) { console.log('Button was clicked'); }

      // 给全局绑定click事件 document.getElementById('myButton').addEventListener('click', handleClick); ```

      在这个例子中,我们首先创建了一个函数handleClick,然后在HTML文件中定义了这个函数,然后在JavaScript文件中定义了这个函数。然后,我们给全局的id为'myButton'的按钮添加了一个click事件的监听器,这将调用handleClick函数,然后在控制台中打印出'Button was clicked'。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部