Jquery点击li

时间:2012-12-10 22:33:33

标签: jquery

我的html设置如下:

<li>
    Header
    <button>Edit</button>
</li>

我想知道是否有办法让你点击li并发生一个动作并点击按钮并发生另一个动作。现在,如果我在li上有一个jquery click元素,当你点击按钮时会被触发。有没有办法在不更改html结构的情况下将其分开?

3 个答案:

答案 0 :(得分:1)

在按钮点击事件处理程序中使用event.stopPropagation() - 这将阻止事件冒泡到li

button.click(function(event){
      event.stopPropagation();
});

答案 1 :(得分:0)

是的,你可以在按钮的处理程序上使用event.stopPropagation

$(document).ready(function() {
    $('li').click(function() {
        alert('li clicked');
    });

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

演示:jsfiddle

答案 2 :(得分:0)

您也可以使用event target

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