jQuery:单击排除类

jQuery:单击排除类,jquery,Jquery,我目前正在使用此代码将所选类添加到表行中,并在右侧的“侧边”中显示单击的行的详细信息。问题是,我在单击时在行中有操作按钮,因为它们是tr的子项,此函数仍然运行 如何排除某个类?您可以检查该类是否与给定的选择器匹配并跳出,例如: //Table select $("#reports-table tr").click( function() { var detail_id = $(this).attr('id'); $(this).addClass("sele

我目前正在使用此代码将所选类添加到表行中,并在右侧的“侧边”中显示单击的行的详细信息。问题是,我在单击时在行中有操作按钮,因为它们是tr的子项,此函数仍然运行

如何排除某个类?

您可以检查该类是否与给定的选择器匹配并跳出,例如:

//Table select
$("#reports-table tr").click(
    function() {
        var detail_id = $(this).attr('id');
        $(this).addClass("selected");
        $(this).siblings().removeClass("selected");
        $('#reports-right').show().load('/members/details/'+detail_id);
        $('#reports-table').width(680);
    }
);
您可以检查是否匹配给定的选择器并跳出,例如:

//Table select
$("#reports-table tr").click(
    function() {
        var detail_id = $(this).attr('id');
        $(this).addClass("selected");
        $(this).siblings().removeClass("selected");
        $('#reports-right').show().load('/members/details/'+detail_id);
        $('#reports-table').width(680);
    }
);

在操作按钮的单击处理程序中,可以添加event.stopPropagation,这样单击就不会传播到tr。在操作按钮的单击处理程序中,可以添加event.stopPropagation,这样单击就不会传播到tr。
//Table select
$("#reports-table tr").click(
    function(evt) {
        if (!$(evt.target).hasClass(".yourClass")) {
          var detail_id = $(this).attr('id');
          $(this).addClass("selected");
          $(this).siblings().removeClass("selected");
          $('#reports-right').show().load('/members/details/'+detail_id);
          $('#reports-table').width(680);
        }
    }
);