javascript - button在li元素中事件激活问题
阿神
阿神 2017-04-10 16:08:49
[JavaScript讨论组]
    • 顺丰(76354762537465235)

      啊啊啊

      斑斑驳驳

      35分钟前发布

  • 我要点击li里面那个按钮,li本身有个事件,就是点击后跳转data-href,但是无论怎么点,都激活的是li事件而不是button事件。
    该如何实现点击button激活button事件,点击li激活li事件?

    阿神
    阿神

    闭关修行中......

    全部回复(2)
    迷茫

    试试这个

    $("button").click(function(e) {
        e.preventDefault();
        //do something
    });
    ringa_lee

    把事件注册在冒泡阶段

            //注册事件函数
            function addEvent(element,type,handler){
                if(element.addEventListener){
                    element.addEventListener(type,handler,false);
                } else if(element.attachEvent){
                    element.attachEvent('on'+type,handler);
                } else {
                    element['on' + type] = handler;
                }
            }

    在写button事件时,添加以下代码:

    //button事件函数,假设函数名为buttonEvent
    function buttonEvent(event){
        //取消事件的进一步冒泡
        event = event || window.event;
        if(event.stopPropagation){
            event.stopPropagation();
        } else {
            event.cancelBubble = true;
        }
       
        //do something
        
    }

    注册事件:

    var btn=document.getElementById('btn');//给button添加一个id='btn',便于获取元素
    addEvent(btn,'click',buttonEvent);
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号