停止特定父级的点击传播

时间:2013-04-30 18:36:20

标签: jquery click propagation

我遇到了点击传播事件的问题。

说,我在表格中有这样的情况:

<tr><td><div><span>some text</span></div></td></tr>

当我点击跨度时,点击会传播到父级。我想将点击传播到父div但不传播到父td和tr。

当我做的时候

$("td").click(function(e) {
        e.stopPropagation();
});

e将范围称为点击源自的范围。我希望点击开始传播,然后停在特定对象上。

谢谢

编辑:

我们正在使用primefaces并且SPAN上的click事件是自动生成的,因此我实际上无法访问它并且我不想搞乱使用primefaces代码。原始单击是在span上,但我不希望它传播高于特定父级(在我的示例上面的td)。实际上我想停止传播$(this)对象,而不是e

1 个答案:

答案 0 :(得分:4)

查看jQuery的on方法。您可以提供父元素来定位事件。

http://api.jquery.com/on/

$("td").on("click", "span", function(e){
  //...
});