首页 > 解决方案 > 为什么 jquery 不响应我的条件?

问题描述

我希望我的表格只有在打开编辑模式时才具有“可点击”类。使用元素检查,我可以看到这是可行的。如果我关闭编辑模式,它会成功删除“可点击”类。

如果表格行具有可单击的类,它将在单击表格行时单击它的复选框。

这也有效,但是当我关闭编辑模式时,我仍然可以单击 tablerows 并通过这样做,还选中复选框。
如果你能看到我忽略的东西,请告诉我。

    function clickableTableRow(isClickable) { 
        if (isClickable) {
            $(tableBody).find('tr').each(function () {
                $(this).addClass("clickable"); 
                $(this).click(function () {
                    $(this).find('input[type=checkbox]').click(); 
                });
            })
        } else {
            $(tableBody).find('tr').each(function () {
                $(this).removeClass("checked").removeClass("clickable");
                $(this).find('input[type=checkbox]').prop("checked", false);
            })
        }
    }

所以澄清一下,在元素检查中我可以看到它应该做的一切,所以我认为问题在于我在点击表格行时点击复选框的功能

标签: javascriptjqueryhtml

解决方案


使用.off()

$(this).off('click');

jQuery中的off()Method用于删除附加到方法或方法的事件处理程序。该方法为 API 带来了很多一致性,它替换了,和方法。on().click()off()unbind()die()undelegate()


推荐阅读