尝试做一些管理后端的事情,
我有一个包含动作链接的tr行。
<tr>
<td>
<span>item1</span>
</td>
<td>
<a href="#">delete</a>
</td>
</tr>
当用户点击tr行时,它应该选择它(并且处理程序绑定到该事件,因此我可以显示额外的信息 别的地方), 和 当用户点击删除链接时,应该调用另一个处理程序来删除该项目。
为两个目标设置点击事件,如下所示:
$("tr").click(function(e){
// show line infos, by reloading the page
});
$("tr a").click(function(e){
// delete item
});
当我点击删除链接时, 似乎首先调用tr事件, 因为我的tr的处理程序重新加载页面 永远不会调用链接的处理程序。 这是正常的,因为冒泡系统会调用 我的处理程序按此顺序:
下降阶段:tr a
上升阶段:a tr
如何在停机阶段跳过第一个tr的处理程序?
我尝试过一些事情 e.preventDefault(),e.stopPropagation()没有成功。
答案 0 :(得分:0)
你的观察似乎有点奇怪。 <a>
应首先触发它的点击事件,然后点击<tr>
。如果是这样,事件确实会冒泡,你可以通过停止传播来覆盖冒泡(或返回false,这将取消默认事件并停止传播):
$("tr").click(function(e){
...
});
$("tr a").click(function(e){
...
return false;
});
答案 1 :(得分:0)
答案 2 :(得分:0)
现在我可以按正确的顺序得到东西。感谢。