繁体   English   中英

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

[英]Activate click only when not clicking on child element as well in javascript

我将JavaScript与JQuery结合使用,并遇到以下问题:

我使用onclick属性在表中分配了一个tr到某个地方(因为您不能使用带有tr a标记)。 由于代码是如此的琐碎,所以我只是在没有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单击常规文本时,我仍然希望它链接起来)

由于您使用的是jQuery,因此请在链接上使用它的.stopPropagation()方法。 这样,链接上的click事件将不会冒泡(传播)到表行上的click事件。

一般来说:

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

是的,您应该防止事件冒泡 在jQuery中,这是通过event.stopPropagation() 您应该将其放在子代调用的函数中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM