jQuery:在点击时排除类

时间:2010-12-22 19:47:16

标签: jquery

//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);
    }
);

我目前正在使用此代码将选定的类添加到表格行,并显示右侧“旁边”单击的行的详细信息。问题是,我在行中有动作按钮 - 当它们被点击时,因为它们是tr的子项,这个功能仍然运行...

如何排除某个班级?

2 个答案:

答案 0 :(得分:3)

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

$("#reports-table tr").click(function(e) {
    if($(e.target).is(".actionButtonClass")) return;
    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);
});

答案 1 :(得分:1)

//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);
        }
    }
);