单击多个按钮的处理程序并停止将事件传播到父级?

时间:2010-06-24 14:37:25

标签: javascript jquery onclick event-propagation

由于ajax调用,我正在生成一堆“li”项。他们看起来像:

<li>
  <p>Hello result 1</p>
  <button>remove</button>
</li>    
<li>
  <p>Hello result 2</p>
  <button>remove</button>
</li>
...

我可以创建一个单击处理程序,当点击任何一个“li”项“按钮”元素时,它将被调用,并且还会停止将点击事件传播到“li”父级吗?类似的东西:

function btnClicked() {
    var liItem = this.parent; // ideally is the <li> whose button was clicked.
    return true; // don't let click event go up to <li> parent?
}

-----------------编辑---------------------

另外,我不确定我是否要使用按钮元素,可能会使用可点击的div作为按钮 - 相同的技术应该适用于两者,对吧?

谢谢

1 个答案:

答案 0 :(得分:2)

$('li').click(function(event) {
//do something
event.stopPropagation()
});

这将适用于jQuery。您需要更改li以仅选择所需的li项。