javascript - button在li元素中事件激活问题
阿神
阿神 2017-04-10 16:08:49
[JavaScript讨论组]
<li>
  <ul class="ui-list ui-list-pure ui-border-tb ui-list-active">
      <li class="ui-border-t" data-href="">
          <h4>顺丰(76354762537465235)</h4>
          <p class="cancel">
          <button class="ui-btn ui-btn-danger" >
                            取消订单
          </button></p>
          <h4>啊啊啊</h4>
          <h4>斑斑驳驳</h4>
          <p class="cus-date">35分钟前发布</p>
      </li>
  </ul>
</li>

我要点击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
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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