3

我对点击传播事件有疑问。

可以说,我在桌子上有这样的情况:

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

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

当我做

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

e 将跨度称为点击的来源。我希望单击开始传播,然后在特定对象处停止。

谢谢

编辑:

我们正在使用 primefaces 并且 SPAN 上的点击事件是自动生成的,所以我真的无法访问它,我不想弄乱 primefaces 代码。原始点击在跨度上,但我不希望它传播得高于特定父级(在我的示例中高于 td)。事实上,我想停止在 $(this) 对象上的传播,而不是在 e 上

4

1 回答 1

4

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

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

$("td").on("click", "span", function(e){
  //...
});
于 2013-04-30T18:39:41.417 回答