javascript - 为什么jquery不响应我的条件?

标签 javascript jquery html

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

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

这也有效,但是当我关闭编辑模式时,我仍然可以单击表格行,并通过这样做,还可以选中复选框。
如果您发现我忽略的内容,请告诉我。

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

所以为了澄清,在元素检查中我可以看到它做了所有应该做的事情,所以我认为问题在于我在单击表格行时单击复选框的函数

最佳答案

使用.off()

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

The off() Method in jQuery is used to remove event handlers attached with the on() method -or the .click() method. The off() method brings a lot of consistency to the API and it replace unbind(), die() and undelegate() methods.

关于javascript - 为什么jquery不响应我的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60074291/

相关文章:

php - CSS 类未在链接上设置预期的颜色

javascript - jQuery 隐藏属性StartsWith 未按预期工作

javascript - 解决互换的另一种方法

javascript - 支持 Route hoc 中 React Router 的渲染属性

javascript - React - 渲染组件的动态列表

jQuery 的 if $ ('#foo' ).is (':hidden' ) 和 $ ('#foo' ).slideUp() 在 "display: none !important"时不起作用?

javascript - 如何模拟服务器?

html - 了解响应式图像和设备像素比

javascript - Handsontable 无限滚动附加数据并应用合并单元格格式

javascript - 与 JavaScript Arguments 对象混淆的行为