jqueryclick-in-li

jqueryclick-in-li,jquery,Jquery,我的html设置如下: <li> Header <button>Edit</button> </li> 标题 编辑 我想知道是否有一种方法可以让你点击li,让一个动作发生,然后点击按钮,让另一个动作发生。现在,如果我在li上有一个jquery click元素,那么当你点击按钮打开它时,它就会被触发。有没有一种方法可以在不更改html结构的情况下将其分离?在按钮内部单击事件处理程序使用-这将阻止事件冒泡到li button.c

我的html设置如下:

<li>
    Header
    <button>Edit</button>
</li>
  • 标题 编辑

  • 我想知道是否有一种方法可以让你点击li,让一个动作发生,然后点击按钮,让另一个动作发生。现在,如果我在li上有一个jquery click元素,那么当你点击按钮打开它时,它就会被触发。有没有一种方法可以在不更改html结构的情况下将其分离?

    在按钮内部单击事件处理程序使用-这将阻止事件冒泡到
    li

    button.click(function(event){
          event.stopPropagation();
    });
    
    是的,您可以在按钮的处理程序上使用:

    $(document).ready(function() {
        $('li').click(function() {
            alert('li clicked');
        });
    
        $('button').click(function(event) {
            event.stopPropagation();
            alert('button clicked');
        });
    });​
    

    演示:

    您也可以使用
    事件目标

    $('li').click(function(event) {
          var $tgt=$(event.target);
           if( $tgt.is('button') ){
              alert('button clicked');
           }else{
              alert('li clicked');
           }
    });
    

    向我们展示您正在使用的JQuery代码,因为在这两者上触发一定是错误的。