仅在javascript中未单击子元素时激活单击

时间:2013-06-30 02:25:26

标签: javascript jquery html

我在jQuery中使用javascript并遇到以下问题:

我使用onclick属性在表格中指定了tr(因为您无法将a标记与tr一起使用)。由于代码非常简单,我只是在没有JQuery的情况下使用内联javascript。问题是我在其中一个表格单元格中有另一个链接,但是当我点击该链接时,tr链接首先被激活,我被发送到错误的页面。

这就是我的tr链接:onclick="javascript:document.location.href = '/1/display"

这是一个单元格中的JQuery click之一。还有常规a标记链接:

thi.click(function(e){ // Thi is a a tag.
    open_entry_id = thi.attr('data-id');
});

是否有任何方法要修复它,以便tr链接仅在未点击其子项时使用? (孩子们,我的意思是可点击的孩子。当我点击tr中的常规文字时,我仍然希望它链接

2 个答案:

答案 0 :(得分:1)

由于您正在使用jQuery,请在链接上使用它的.stopPropagation()方法。这样,链接上的点击事件就不会冒泡(传播)到表格行上的点击事件。

一般来说:

$('a').click(function(e){
    e.stopPropagation();
})

答案 1 :(得分:0)

是的,你应该阻止event-bubbling。在jQuery中,这是使用event.stopPropagation()完成的。你应该把它放在孩子调用的函数中。