jQuery:阻止点击子元素的类:tr点击重定向页面除了某个td

时间:2014-10-13 05:28:41

标签: javascript jquery html onclick click

我已经搜索了30分钟,所以如果我已经错过了这个答案,我会道歉。我见过很多CLOSE,但没有一个像这样。

我有一个导入的JavaScript函数,用于多个文件。它使得任何具有clickable-row类的行的表将重定向到href属性,从而使整行充当锚标记。

但是,在td上的某些页面上会填充一个复选框,我希望能够在没有页面重定向的情况下点击(因此我可以在表格中选择多行)。

这是我目前的职能:

jQuery(document).ready(function() {
    jQuery('.clickable-row').click(function() {
        window.document.location = jQuery(this).attr('href');
    });
});

我希望它能够执行以下操作,但这不起作用:

jQuery(document).ready(function() {
    jQuery('.clickable-row').click(function() {
        if(!jQuery(this).closest('td').hasClass('skip-click')) {
            window.document.location = jQuery(this).attr('href');
        }
    });
});

关于如何处理这个的任何想法?

1 个答案:

答案 0 :(得分:2)

您需要使用e.target

处理程序内的

this将引用.clickable-row元素,而不是实际触发点击的元素。 event object的target属性将返回触发事件的元素。

jQuery(document).ready(function ($) {
    $('.clickable-row').click(function (e) {
        if (!$(e.target).closest('td').hasClass('skip-click')) {
            window.document.location = jQuery(this).attr('href');
        }
    });
});