OnClick on table row - 除了Anchor

use*_*312 1 javascript jquery

我有一张表,其中有以下事件:

$("#tp-active-list-table td").click(function () {
    var transactionNbr = parseInt($(this).parent("tr").children('td.td-transaction-nbr').html());
    DoSomething(transactionNbr);
});
Run Code Online (Sandbox Code Playgroud)

它工作正常,基本上它调用DoSomethingNumber各自收集的td.

但我确实有一个问题,因为在其中一个td我有一个锚点,如果在该锚点上执行点击,那么DoSomething将运行,页面将正确导航到另一个URL.

无论如何都要检查点击是否在那anchor以避免运行该DoSomething功能?

Sha*_*k D 6

使用event.stopPropagation()以防止事件冒泡.

$('td a').click(function (e) { 
    e.stopPropagation()
});
Run Code Online (Sandbox Code Playgroud)

其他选择是: e.target.tagName

$("#tp-active-list-table td").click(function (e) {
    if(e.target.tagName.toLowerCase() === 'a'){
            var transactionNbr = parseInt($(this).parent("tr").children('td.td-transaction-nbr').html());
            DoSomething(transactionNbr);
    }
});
Run Code Online (Sandbox Code Playgroud)