Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击链接时忽略表格单击功能_Javascript_Jquery - Fatal编程技术网

Javascript 单击链接时忽略表格单击功能

Javascript 单击链接时忽略表格单击功能,javascript,jquery,Javascript,Jquery,当用户点击我的表中的一行时,我有一个click方法 $('.table > tbody > tr').click(function () { if ($(this).hasClass("info")) { $(this).removeClass("info"); } else { $(this).addClass("info"); } }); 但是,有些单元格中有链接,如果单击链接,我想忽略上面的方法。如何执行此操作?

当用户点击我的表中的一行时,我有一个click方法

$('.table > tbody > tr').click(function () {
    if ($(this).hasClass("info")) {
        $(this).removeClass("info");
    }
    else {
        $(this).addClass("info");
    }
});

但是,有些单元格中有链接,如果单击链接,我想忽略上面的方法。如何执行此操作?

只需检查是否使用
event.target
.closest()单击了链接即可:


只需检查是否使用
event.target
.closest()
单击了链接:


可以阻止单击事件从锚传播

$('.table > tbody > tr a').click(function (e) { 
    e.stopPropagation()
});

您可以阻止单击事件从锚传播

$('.table > tbody > tr a').click(function (e) { 
    e.stopPropagation()
});

应该是
。是('a')
Closest()
将在DOM中向上遍历,并且结构不是
a>tr
@Johan,例如,如果
a
中有一个span,那么
.is()
将不起作用,因为
目标将是span.@a.Wolff EVERYTHING。。。不,这不是问题,但好吧,在阅读您的评论后,OP可能会对隐藏的函数感兴趣!我可以知道投票失败的原因吗?只是好奇,以便我能改进我的答案…应该是
。是('a')
Closest()
将在DOM中向上遍历,并且结构不是
a>tr
@Johan,例如,如果
a
中有一个span,那么
.is()
将不起作用,因为
目标将是span.@a.Wolff EVERYTHING。。。不,这不是问题,但好吧,在阅读您的评论后,OP可能会对隐藏的函数感兴趣!我可以知道投票失败的原因吗?只是好奇,所以我可以改进我的答案。。。