button在li元素中事件激活问题

发布于 2022-09-01 20:41:46 字数 660 浏览 15 评论 0

<li>
  <ul class="ui-list ui-list-pure ui-border-tb ui-list-active">
      <li class="ui-border-t" data-href="">
          <h4>顺丰(76354762537465235)</h4>
          <div class="cancel">
          <button class="ui-btn ui-btn-danger" >
                            取消订单
          </button></div>
          <h4>啊啊啊</h4>
          <h4>斑斑驳驳</h4>
          <div class="cus-date">35分钟前发布</div>
      </li>
  </ul>
</li>

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

随风而去 2022-09-08 20:41:46

试试这个

$("button").click(function(e) {
    e.preventDefault();
    //do something
});
尽揽少女心 2022-09-08 20:41:46

把事件注册在冒泡阶段

        //注册事件函数
        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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文